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)