Quadratic equations are defined as **ax ^{2} + bx + c = 0 where a, b, c are Real Numbers(or Complex Numbers) and x is a variable**.

In High School for solving quadratic equations a formula is taught, which is **(-b±√(b²-4ac))/(2a)** where different values(a, b, c) are taken from **Quadratic equation**. Mostly value of **b²-4ac** is referred to as **Determinant of Quadratic Equation**. So it can be said that formula for finding roots of a Quadratic Equation is **(-b±√(d))/(2a)**. Do not that for roots to exist determinant value(d) should either be zero or 1. But if Determinant(d) is negative then roots of equation will still exist but roots will be **Complex Numbers**.

In this article, I’ll discuss about **How to solve a Quadratic Equation using Python if in case Determinant of Quadratic Equation is negative(d < 0)**. Moreover, I’ve already written an article about Solving Quadratic Equation if coefficients are Real Numbers, you can check that article here – Using Python Find Roots of a Quadratic Equation.

```
# Finding roots of Quadratic Equation using Python
# Import Python's Math and cMath Modules
import math
import cmath
a = float(input("Enter coefficient of x square =>"))
b = float(input("Enter coefficient of x =>"))
c = float(input("Enter constant value in equation =>"))
# Calculating Determinant of Quadratic Equation
d = b**2 - 4*a*c
# Checking if Determinant is positive/zero
if (d >= 0):
# Calculating Roots of Quadratic Equation
first_root = (-b + math.sqrt(d))/2*a
second_root = (-b - math.sqrt(d))/2*a
print("Roots of Quadratic Equation are =>", first_root,",", second_root)
elif (d <0):
first_root = (-b + cmath.sqrt(d))/2*a
second_root = (-b - cmath.sqrt(d))/2*a
print("Roots of Quadratic Equation are =>", first_root,",", second_root)
```

**Output of Above Code**

```
Enter coefficient of x square =>3
Enter coefficient of x =>4
Enter constant value in equation =>5
Roots of Quadratic Equation are => (-6+9.9498743710662j) , (-6-9.9498743710662j)
```

The difference in code comes up at lines 21, 22 where if Determinant(d) is less than 0. Then square root would be calculated using **Python’s cMath Module function sqrt()** rather than equivalent sqrt() function from Math Module.