# Python Program to Solve Quadratic Equation

To understand this example, you should have the knowledge of the following Python programming topics:

The standard form of a quadratic equation is:

```ax2 + bx + c = 0, where
a, b and c are real numbers and
a ≠ 0```

The solutions of this quadratic equation is given by:

`(-b ± (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)`

## Source Code

``````# Solve the quadratic equation ax**2 + bx + c = 0

# import complex math module
import cmath

a = 1
b = 5
c = 6

# calculate the discriminant
d = (b**2) - (4*a*c)

# find two solutions
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)

print('The solution are {0} and {1}'.format(sol1,sol2))```
```

Output

```Enter a: 1
Enter b: 5
Enter c: 6
The solutions are (-3+0j) and (-2+0j)```

We have imported the `cmath` module to perform complex square root. First, we calculate the discriminant and then find the two solutions of the quadratic equation.

You can change the value of a, b and c in the above program and test this program.

Challenge

Write a function to solve a quadratic equation.

• Define a function that takes three integers as input representing the coefficients of a quadratic equation.
• Return the roots of the quadratic equation.
• Hint: The quadratic formula is `x = [-b ± sqrt(b^2 - 4ac)] / (2a)`.
• The term inside the square root, `b^2 - 4ac`, is called the discriminant.
1. If it's positive, there are two real roots.
2. If it's zero, there's one real root.
3. If it's negative, there are two complex roots.
• While returning the list, make sure the solution of [-b + sqrt(b^2 - 4ac)] / (2a) appears as the first solution.