## Solve Quadratic Equation using Python

- Quadratic Equation
- Discriminant value
- Calculating roots of Quadratic Equation
- Types of roots
- Approach
- Implementation

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**:

- python program to compute a polynomial equation given that the coefficients of the polynomial are stored in a list
- python program to solve maximum subarray problem using kadanes algorithm
- java program to find the roots of a quadratic equation
- python program to find the factorial of a number
- python program to check armstrong number
- python program to convert kilometers to miles and vice versa
- python program to find the largest among three numbers