Skip to main content
ilovecalcs logoilovecalcs.

Solver · Live

Equation solver — step-by-step algebra for any linear or quadratic.

Type any single-variable linear or quadratic equation in natural notation (e.g. 3x − 7 = 11 or x² − 5x + 6 = 0) and get an exact solution with every algebraic step shown, including the quadratic formula, discriminant, and simplified radicals.

How it worksExact answers

Equation

Enter any linear or quadratic equation. Use x (or any letter) as the variable and ^2 for squared.

Examples

Enter an equation and press Solve.

Supports linear (ax + b = c) and quadratic (ax² + bx + c = 0) equations.

Algebra guide

How to solve linear and quadratic equations: the golden rules of algebra.

The fundamental principle: balance

Every algebraic equation is a statement of balance: the left side equals the right side. The cardinal rule is that whatever you do to one side, you must do to the other. Add 7 to the left → add 7 to the right. Multiply the left by 3 → multiply the right by 3. This preserves equality at every step.

The goal is to isolate the variable: get it alone on one side with a coefficient of 1. Every operation you perform is chosen to move you closer to that goal.

Solving linear equations (degree 1)

A linear equation has the form ax + b = c or, when rearranged to standard form, ax + b = 0. “Linear” means the variable appears only to the first power: no x², no √x, no 1/x.

The standard procedure is two steps:

  1. Move the constant term. Subtract or add the constant from both sides so that the variable term stands alone. For 3x − 7 = 11: add 7 to both sides → 3x = 18.
  2. Divide by the coefficient. Divide both sides by the coefficient of x. For 3x = 18: divide by 3 → x = 6.

When x appears on both sides (e.g. 2x + 3 = x − 4), collect all x terms on one side first (subtract x from both sides → x + 3 = −4), then follow the two steps above.

Fractional coefficients: if the coefficient is a fraction (e.g. x/3 = 5), multiplying by the reciprocal is equivalent to ; multiply both sides by 3 → x = 15. This solver shows this as a “multiply by [reciprocal]” step.

Solving quadratic equations (degree 2)

A quadratic equation has the form ax² + bx + c = 0. There are several solution methods:

Factoring

If the quadratic factors neatly (e.g. x² − 5x + 6 = (x − 2)(x − 3) = 0), set each factor to zero: x − 2 = 0 or x − 3 = 0, giving x = 2 or x = 3. Factoring is fast when the roots are integers or simple fractions, but it requires pattern recognition that isn't always obvious.

The quadratic formula

This solver always uses the quadratic formula. It works for every case:

x = (−b ± √(b² − 4ac)) / (2a)

The expression under the square root, Δ = b² − 4ac, is the discriminant. It tells you everything about the nature of the solutions before you compute them:

  • Δ > 0: two distinct real solutions
  • Δ = 0: exactly one solution (a “repeated root”)
  • Δ < 0: no real solutions (two complex conjugate roots)

Completing the square

An alternative to the formula. For x² + 6x − 7 = 0: move the constant (x² + 6x = 7), add (6/2)² = 9 to both sides (x² + 6x + 9 = 16), recognise the perfect square (x + 3)² = 16, then take square roots: x + 3 = ±4, giving x = 1 or x = −7. Completing the square is the derivation behind the quadratic formula itself.

Order of operations (PEMDAS / BODMAS)

The parser in this solver respects standard operator precedence:

  1. Parentheses / Brackets first
  2. Exponents / Orders (^ notation)
  3. Multiplication and Division (left to right)
  4. Addition and Subtraction (left to right)

Implicit multiplication is supported: 3x is parsed as 3 × x, and 2(x + 1) as 2 × (x + 1). Always use ^ for exponents: x^2 means x². Unicode superscripts (x²) also work.

When there is no solution or infinitely many

Some equations are inconsistent; they have no solution. For example, x + 1 = x + 2 simplifies to 1 = 2, which is never true regardless of x. The solver detects this and reports “no solution.”

Others are identities: true for every value of x. For example, 2(x + 1) = 2x + 2 simplifies to 0 = 0, which is always true. The solver reports “identity: true for all values.”