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

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 :