 GeeksforGeeks App
Open App Browser
Continue

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

 `// C++ program for the approach` `#include ``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

 ``

Output:

`x^3 - 10x^2 + 31x - 30 = 0`

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up