Javatpoint Logo
Javatpoint Logo

Python program to solve quadratic equation

Quadratic equation:

Quadratic equation is made from a Latin term "quadrates" which means square. It is a special type of equation having the form of:


Here, "x" is unknown which you have to find and "a", "b", "c" specifies the numbers such that "a" is not equal to 0. If a = 0 then the equation becomes liner not quadratic anymore.

In the equation, a, b and c are called coefficients.

Let's take an example to solve the quadratic equation 8x2 + 16x + 8 = 0

See this example:


Enter a: 8
Enter b: 5
Enter c: 9
The solution are (-0.3125-1.0135796712641785j) and (-0.3125+1.0135796712641785j)

Explanation -

In the first line, we have imported the cmath module and we have defined three variables named a, b, and c which takes input from the user. Then, we calculated the discriminant using the formula. Using the cmath.sqrt() method, we have calculated two solutions and printed the result.

Second Method

We can get the solution of the quadric equation by using direct formula. Let's understand the following example.

Above formula consists of the following cases.

  • If b2 < 4ac, then the roots are complex (not real). For example - x2 + x + 1, roots are -0.5 + i1.73205 and +0.5 - i1.73205.
  • If b2 == 4ac, then the both roots are same For example - x2 + x + 1, roots are -0.5 + i1.73205 and +0.5 - i1.73205.
  • If b2 > 4ac, then the roots are real and different. For example - x2 - 7 x - 12, roots are 3 and 4.

Example -


Enter a:7
Enter b:5
Enter c:2
Complex Roots
-0.35714285714285715  + i 5.5677643628300215
-0.35714285714285715  - i 5.5677643628300215

Explanation -

In the above code, we have imported the math module and defined the formula to calculate discriminant. We have then defined findRoots function which take three integer values as arguments. Then we have checked the roots using the if-elif-else statement.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA