Open In App

Find if two given Quadratic equations have common roots or not

Improve
Improve
Like Article
Like
Save
Share
Report

Given values a1, b1 and c1 of first Quadratic equations a_{1}x^{2} + b_{1}x + c_{1} = 0      and values a2, b2 and c2 of second Quadratic equations a_{2}x^{2} + b_{2}x + c_{2} = 0      , 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 a_{1}x^{2} + b_{1}x + c_{1} = 0      and a_{2}x^{2} + b_{2}x + c_{2} = 0
 

  • Let us assume the given condition to be true, i.e. both the equations have common roots, say \alpha      and \beta
     
  • As we know that 
    \text{Sum of roots = } -\frac{b}{a}      and \text{Product of roots = } \frac{c}{a}
    where a, b, c represents the quadratic equation ax^{2} + bx + c = 0
     
  • Therefore, 
    For 1st quadratic equation: 
    \text{Sum of roots = } \alpha + \beta = -\frac{b_{1}}{a_{1}}
    \text{Product of roots = } \alpha \beta = \frac{c_{1}}{a_{1}}
    Similarly, for 2nd quadratic equation: 
    \text{Sum of roots = } \alpha + \beta = -\frac{b_{2}}{a_{2}}
    \text{Product of roots = } \alpha \beta = \frac{c_{2}}{a_{2}}
     
  • Now since both the roots are common, 
    Therefore, from above equations 
    \alpha + \beta = -\frac{b_{1}}{a_{1}} = -\frac{b_{2}}{a_{2}}
    \Rightarrow \frac{a_{1}}{a_{2}} = \frac{b_{1}}{b_{2}}
     
  • Also, 
    \alpha \beta = \frac{c_{1}}{a_{1}} = \frac{c_{2}}{a_{2}}
    \Rightarrow \frac{c_{1}}{c_{2}} = \frac{a_{1}}{a_{2}}
     
  • Combining the above equations:

\frac{a_{1}}{a_{2}} = \frac{b_{1}}{b_{2}} = \frac{c_{1}}{c_{2}} 

  • 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)



Last Updated : 04 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads