Quadratic Formula Python | Python Program To Solve Quadratic Equation

Share Your Love

Here given a quadratic equation the task is to solve the equation or find out the roots of the equation. The standard form of a quadratic equation is –

ax2 + bx + c
where,
a, b, and c are coefficient and real numbers and also a ≠ 0.
If a is equal to 0 that equation is not valid quadratic equation.

Examples Of Quadratic Equation:

Input :a = 1, b = 2, c = 1 
Output : 
Roots are real and same
-1.0

Input :a = 2, b = 2, c = 1
Output :
Roots are complex
-0.5  + i 2.0
-0.5  - i 2.0

Input :a = 1, b = 10, c = -24 
Output : 
Roots are real and different
2.0
-12.0

Method 1: Using the direct formula

x = \frac{ -b \pm \sqrt{b^2 - 4ac}}{2a} when ax^2 + bx + c = 0
Quadratic Equation

So here we describes different cases of Quadratic Equation:

If b*b < 4*a*c, then roots are complex
(not real).
For example roots of x2 + x + 1, roots are
-0.5 + i1.73205 and -0.5 - i1.73205

If b*b == 4*a*c, then roots are real 
and both roots are same.
For example, roots of x2 - 2x + 1 are 1 and 1

If b*b > 4*a*c, then roots are real 
and different.
For example, roots of x2 - 7x - 12 are 3 and 4

Below program illustrate the quadratic equation in Python:

# Python program to find roots of quadratic equation
import math


# function for finding roots
def equationroots( a, b, c):

	# calculating discriminant using formula
	dis = b * b - 4 * a * c
	sqrt_val = math.sqrt(abs(dis))
	
	# checking condition for discriminant
	if dis > 0:
		print(" real and different roots ")
		print((-b + sqrt_val)/(2 * a))
		print((-b - sqrt_val)/(2 * a))
	
	elif dis == 0:
		print(" real and same roots")
		print(-b / (2 * a))
	
	# when discriminant is less than 0
	else:
		print("Complex Roots")
		print(- b / (2 * a), " + i", sqrt_val)
		print(- b / (2 * a), " - i", sqrt_val)

# Driver Program
a = 1
b = 10
c = -24

# If a is 0, then incorrect equation
if a == 0:
		print("Input correct quadratic equation")

else:
	equationroots(a, b, c)

Output:

real and different roots
2.0
-12.0

Method-2: Using Complex Math Module

# import complex math module
import cmath

a = 1
b = 4
c = 2

# calculating the discriminant
dis = (b**2) - (4 * a*c)

# find two results
ans1 = (-b-cmath.sqrt(dis))/(2 * a)
ans2 = (-b + cmath.sqrt(dis))/(2 * a)

# printing the results
print('The roots are')
print(ans1)
print(ans2)

Output:

The roots are
(-3.414213562373095+0j)
(-0.5857864376269049+0j)

Please write comments or WhatsApp if you find anything incorrect, or you want to share more information about this topic discussed above.

Share Your Love
Avatar photo
Lingaraj Senapati

Hey There! I am Lingaraj Senapati, the Founder of lingarajtechhub.com My skills are Freelance, Web Developer & Designer, Corporate Trainer, Digital Marketer & Youtuber.

Articles: 429

Newsletter Updates

Enter your email address below to subscribe to our newsletter