Open In App

Form the Cubic equation from the given roots

Given the roots of a cubic equation A, B and C, the task is to form the Cubic equation from the given roots.
Note: The given roots are integral.
Examples: 
 

Input: A = 1, B = 2, C = 3 
Output: x^3 – 6x^2 + 11x – 6 = 0 
Explanation: 
Since 1, 2, and 3 are roots of the cubic equations, Then equation is given by: 
(x – 1)(x – 2)(x – 3) = 0 
(x – 1)(x^2 – 5x + 6) = 0 
x^3 – 5x^2 + 6x – x^2 + 5x – 6 = 0 
x^3 – 6x^2 + 11x – 6 = 0.
Input: A = 5, B = 2, C = 3 
Output: x^3 – 10x^2 + 31x – 30 = 0 
Explanation: 
Since 5, 2, and 3 are roots of the cubic equations, Then equation is given by: 
(x – 5)(x – 2)(x – 3) = 0 
(x – 5)(x^2 – 5x + 6) = 0 
x^3 – 5x^2 + 6x – 5x^2 + 25x – 30 = 0 
x^3 – 10x^2 + 31x – 30 = 0. 
 

 

Approach: Let the root of the cubic equation (ax3 + bx2 + cx + d = 0) be A, B and C. Then the given cubic equation can be represents as: 
 

ax3 + bx2 + cx + d = x3 – (A + B + C)x2 + (AB + BC +CA)x + A*B*C = 0. 
Let X = (A + B + C) 
Y = (AB + BC +CA) 
Z = A*B*C 
 

Therefore using the above relation find the value of X, Y, and Z and form the required cubic equation.
Below is the implementation of the above approach:
 




// C++ program for the approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the cubic
// equation whose roots are a, b and c
void findEquation(int a, int b, int c)
{
    // Find the value of coefficient
    int X = (a + b + c);
    int Y = (a * b) + (b * c) + (c * a);
    int Z = a * b * c;
 
    // Print the equation as per the
    // above coefficients
    cout << "x^3 - " << X << "x^2 + "
         << Y << "x - " << Z << " = 0";
}
 
// Driver Code
int main()
{
    int a = 5, b = 2, c = 3;
 
    // Function Call
    findEquation(a, b, c);
    return 0;
}




// Java program for the approach
 
class GFG{
 
// Function to find the cubic equation
// whose roots are a, b and c
static void findEquation(int a, int b, int c)
{
    // Find the value of coefficient
    int X = (a + b + c);
    int Y = (a * b) + (b * c) + (c * a);
    int Z = a * b * c;
 
    // Print the equation as per the
    // above coefficients
    System.out.print("x^3 - " + X+ "x^2 + "
                  + Y+ "x - " + Z+ " = 0");
}
 
// Driver Code
public static void main(String[] args)
{
    int a = 5, b = 2, c = 3;
 
    // Function Call
    findEquation(a, b, c);
}
}
 
// This code contributed by PrinciRaj1992




# Python3 program for the approach
 
# Function to find the cubic equation
# whose roots are a, b and c
def findEquation(a, b, c):
     
    # Find the value of coefficient
    X = (a + b + c);
    Y = (a * b) + (b * c) + (c * a);
    Z = (a * b * c);
 
    # Print the equation as per the
    # above coefficients
    print("x^3 - " , X ,
          "x^2 + " ,Y ,
          "x - " , Z , " = 0");
 
# Driver Code
if __name__ == '__main__':
     
    a = 5;
    b = 2;
    c = 3;
 
    # Function Call
    findEquation(a, b, c);
 
# This code is contributed by sapnasingh4991




// C# program for the approach
using System;
 
class GFG{
 
// Function to find the cubic equation
// whose roots are a, b and c
static void findEquation(int a, int b, int c)
{
     
    // Find the value of coefficient
    int X = (a + b + c);
    int Y = (a * b) + (b * c) + (c * a);
    int Z = a * b * c;
 
    // Print the equation as per the
    // above coefficients
    Console.Write("x^3 - " + X +
                  "x^2 + " + Y +
                    "x - " + Z + " = 0");
}
 
// Driver Code
public static void Main()
{
    int a = 5, b = 2, c = 3;
 
    // Function Call
    findEquation(a, b, c);
}
}
 
// This code is contributed by shivanisinghss2110




<script>
 
    // Javascript program for the approach
     
    // Function to find the cubic
    // equation whose roots are a, b and c
    function findEquation(a, b, c)
    {
        // Find the value of coefficient
        let X = (a + b + c);
        let Y = (a * b) + (b * c) + (c * a);
        let Z = a * b * c;
 
        // Print the equation as per the
        // above coefficients
        document.write("x^3 - " + X + "x^2 + "
             + Y + "x - " + Z + " = 0");
    }
       
    let a = 5, b = 2, c = 3;
   
    // Function Call
    findEquation(a, b, c);
 
</script>

Output: 
x^3 - 10x^2 + 31x - 30 = 0

 

Time Complexity: O(1)

Auxiliary Space: O(1)


Article Tags :