Python Program to Solve Quadratic Equation

Solve Quadratic Equation using Python

Explore more instances related to python concepts from Python Programming Examples Guide and get promoted from beginner to professional programmer level in Python Programming Language.

1)Quadratic Equation

Quadratics or quadratic equations are polynomial equations of the second degree, which means that they contain at least one squared word.

ax2 + bx + c = 0

where x is an unknown variable and the numerical coefficients a , b , c.

2)Discriminant value

Discriminant = b ^ 2 - 4 * a *c

Based on the value of discriminant there are three types of roots for Quadratic Equation

3)Calculating roots of Quadratic Equation

roots = ( -b + sqrt(b ^ 2 - 4 * a *c) ) / (2 * a)   , ( -b - sqrt(b ^ 2 - 4 * a *c) ) / (2 * a)

Where sqrt is square root.

4)Types of roots

i)Real and distinct roots

When the Value of discriminant is greater than 0 then there exist two distinct roots for the quadratic equation

which can be calculated using the above roots formula.

Examples:

Input:

a = 2
b = -7
c = 6

Output:

The two distinct roots are : 
(2+0j)
(1.5+0j)

ii)Real and equal roots

When the Value of discriminant is equal to 0 then there exist two equal roots for the quadratic equation .

which can be calculated using the above roots formula.

Examples:

Input:

a = 1
b = -4
c = 4

Output:

The two equal roots are : 
2.0 2.0

iii)Complex roots

When the Value of discriminant is greater than 0 then there exist two complex roots for the quadratic equation .

which can be calculated using the above roots formula.

Examples:

Input:

a = 5
b = 2
c = 3

Output:

There exists two complex roots:
(-1+1.7320508075688772j)
(-1-1.7320508075688772j)

5)Approach

  • To perform complex square root, we imported the cmath module.
  • First, we compute the discriminant.
  • Using if..elif..else we do the below steps
  • If the value of discriminant is  greater than 0 then we print real roots using mathematical formula.
  • If the value of discriminant is  equal to 0 then we print two equal roots using mathematical formula.
  • If the value of discriminant is  less than 0 then we print two complex roots using mathematical formula.

6)Implementation:

Below is the implementation:

# importing cmath
import cmath
# given a,b,c values
a = 2
b = -7
c = 6
discriminant = (b**2) - (4*a*c)
# checking if the value of discriminant is greater than 0
if(discriminant > 0):
    # here exist the two distinct roots and we print them
    # calculating the roots
    root1 = (-b+discriminant) / (2 * a)
    root2 = (-b-discriminant) / (2 * a)
    # printing the roots

    print("The two distinct roots are : ")
    print(root1)
    print(root2)
# checking if the value of discriminant is equal to 0
elif(discriminant == 0):
    # here exist the two equal roots
    # calculating single root here discriminant is 0 so we dont need to write full formulae
    root = (-b)/(2*a)
    # printing the root
    print("The two equal roots are : ")
    print(root, root)
# else there exists complex roots
else:
    # here exist the two complex roots
    # calculating complex roots
    realpart = -b/(2*a)
    complexpart = discriminant/(2*a)*(-1)
    # printing the roots
    print("There exists two complex roots:")
    print(realpart, "+", complexpart, "i")
    print(realpart, "-", complexpart, "i")

Output:

The two distinct roots are : 
(2+0j)
(1.5+0j)

Related Programs: