Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Form the Cubic equation from the given roots

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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++




// 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




// 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




# 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#




// 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

Javascript




<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)


My Personal Notes arrow_drop_up
Last Updated : 15 Nov, 2021
Like Article
Save Article
Similar Reads
Related Tutorials