3rd degree equation calculator

Solve ax3 + bx2 + cx + d = 0

Enter the coefficients and click calculate to find all roots (real and complex).

Example preloaded: x3 - 6x2 + 11x - 6 = 0

What is a 3rd degree equation?

A 3rd degree equation (also called a cubic equation) has the form: ax3 + bx2 + cx + d = 0, where a ≠ 0. Cubics are common in algebra, engineering, physics, optimization, and computer graphics.

How to use this calculator

  • Type your coefficients for a, b, c, d.
  • Click Calculate Roots.
  • Read the root structure and all computed roots in the result panel.

The solver returns three roots total (counting multiplicity), which may be all real or a mix of one real and two complex conjugates.

How the result is interpreted

1) Equation rendering

The output first rewrites the equation from your coefficients, so you can quickly verify the problem you entered.

2) Cardano discriminant

This calculator uses the depressed-cubic transformation and Cardano’s method. The displayed discriminant determines the root pattern:

  • Δ > 0: one real root and two non-real complex roots.
  • Δ = 0: all roots real, with at least two equal roots.
  • Δ < 0: three distinct real roots.

3) Real and complex roots

Complex roots are displayed in a ± bi form. Small floating-point noise is cleaned so values near zero are shown as 0.

Worked example

For the default example x3 − 6x2 + 11x − 6 = 0, the roots are: x = 1, 2, 3. This is a classic cubic that factors as: (x − 1)(x − 2)(x − 3) = 0.

Common mistakes to avoid

  • Setting a = 0 (that would no longer be a 3rd degree equation).
  • Forgetting negative signs on coefficients.
  • Assuming every cubic has three different real roots.
  • Rounding inputs too aggressively before solving.

Quick FAQ

Can a cubic have repeated roots?

Yes. If the discriminant is zero, at least two roots are equal.

Can roots be complex even with real coefficients?

Yes. Non-real roots appear in conjugate pairs when coefficients are real.

Why do I see tiny values like 0.0000000001?

That is normal floating-point behavior. The calculator rounds tiny values to cleaner output where appropriate.

🔗 Related Calculators