Find if two given Quadratic equations have common roots or not
Given values a1, b1 and c1 of first Quadratic equations and values a2, b2 and c2 of second Quadratic equations , the task is to find whether both quadratic equations have common roots or not.
Examples:
Input: a1 = 1, b1 = -5, c1 = 6, a2 = 2, b2 = -10, c2 = 12
Output: Yes
Explanation:
Roots of both quadratic equations are (2, 3)
Input: a1 = 1, b1 = -5, c1 = 6, a2 = 1, b2 = -9, c2 = 20
Output: No
Explanation:
Roots of first quadratic equations are (2, 3), and Roots of second quadratic equations are (4, 5)
Therefore, both quadratic equations have different roots.
Approach:
Let the two quadratic equations are and
- Let us assume the given condition to be true, i.e. both the equations have common roots, say and
- As we know that
and
where a, b, c represents the quadratic equation
- Therefore,
For 1st quadratic equation:
Similarly, for 2nd quadratic equation:
- Now since both the roots are common,
Therefore, from above equations
- Also,
- Combining the above equations:
- which is the required condition for both roots to be common of the two quadratic equations.
Programs:
C++
// C++ Program to Find if two given // Quadratic equations have // common roots or not #include <iostream> using namespace std; // function to check if 2 quadratic // equations have common roots or not. bool checkSolution( float a1, float b1, float c1, float a2, float b2, float c2) { return (a1 / a2) == (b1 / b2) && (b1 / b2) == (c1 / c2); } // Driver code int main() { float a1 = 1, b1 = -5, c1 = 6; float a2 = 2, b2 = -10, c2 = 12; if (checkSolution(a1, b1, c1, a2, b2, c2)) cout << "Yes" ; else cout << "No" ; return 0; } |
Java
// Java Program to Find if two given // quadratic equations have common // roots or not class GFG { // Function to check if 2 quadratic // equations have common roots or not. static boolean checkSolution( float a1, float b1, float c1, float a2, float b2, float c2) { return ((a1 / a2) == (b1 / b2) && (b1 / b2) == (c1 / c2)); } // Driver code public static void main (String[] args) { float a1 = 1 , b1 = - 5 , c1 = 6 ; float a2 = 2 , b2 = - 10 , c2 = 12 ; if (checkSolution(a1, b1, c1, a2, b2, c2)) System.out.println( "Yes" ); else System.out.println( "No" ); } } // This code is contributed by AnkitRai01 |
Python3
# Python3 program to find if two given # quadratic equations have common # roots or not # Function to check if 2 quadratic # equations have common roots or not. def checkSolution(a1, b1, c1, a2, b2, c2): return ((a1 / a2) = = (b1 / b2) and (b1 / b2) = = (c1 / c2)) # Driver code a1, b1, c1 = 1 , - 5 , 6 a2, b2, c2 = 2 , - 10 , 12 if (checkSolution(a1, b1, c1, a2, b2, c2)): print ( "Yes" ) else : print ( "No" ) # This code is contributed by divyamohan123 |
C#
// C# Program to Find if two given // quadratic equations have common // roots or not using System; class GFG{ // Function to check if 2 quadratic // equations have common roots or not. static bool checkSolution( float a1, float b1, float c1, float a2, float b2, float c2) { return ((a1 / a2) == (b1 / b2) && (b1 / b2) == (c1 / c2)); } // Driver code public static void Main ( string [] args) { float a1 = 1, b1 = -5, c1 = 6; float a2 = 2, b2 = -10, c2 = 12; if (checkSolution(a1, b1, c1, a2, b2, c2)) Console.WriteLine( "Yes" ); else Console.WriteLine( "No" ); } } // This code is contributed by AnkitRai01 |
Javascript
<script> // Javascript Program to Find if two given // Quadratic equations have // common roots or not // function to check if 2 quadratic // equations have common roots or not. function checkSolution(a1, b1, c1, a2, b2, c2) { return (a1 / a2) == (b1 / b2) && (b1 / b2) == (c1 / c2); } // Driver code a1 = 1, b1 = -5, c1 = 6; a2 = 2, b2 = -10, c2 = 12; if (checkSolution(a1, b1, c1, a2, b2, c2)) document.write( "Yes" ); else document.write( "No" ); </script> |
Output:
Yes
Time Complexity: O(1)
Auxiliary Space: O(1)