# Form the Cubic equation from the given roots

• Last Updated : 15 Nov, 2021

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.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

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
Recommended Articles
Page :