Step-by-step solutions for linear and quadratic equations in one variable.
Solves linear and quadratic equations in one variable (x) and shows every intermediate step: expanding parentheses, combining like terms, moving terms across the equals sign, and applying the quadratic formula. Built so the sign flips and the ± are always right, which is exactly where hand-worked algebra and casual model answers go wrong.
No real solution — the roots are complex: x = -1 + 2i or x = -1 - 2i.
quadratic · standard form: x^2 + 2x + 5 = 0
Start with the equation as given.
x^2 + 2x + 5 = 0
Move every term to one side so the equation reads ax^2 + bx + c = 0.
x^2 + 2x + 5 = 0
Identify a, b, and c.
a = 1, b = 2, c = 5
Compute the discriminant, D = b^2 - 4ac.
D = (2)^2 - 4(1)(5) = -16
Apply the quadratic formula, x = (-b ± √D) / (2a).
x = (-2 ± √-16) / 2
D < 0: the square root of a negative number is imaginary. There is no real solution; the two roots are complex conjugates.
x = -1 + 2i or x = -1 - 2i
- The discriminant is negative, so the equation has no real root.
Covers only linear and quadratic equations in one variable (x). It does not solve systems of equations, inequalities, or equations of degree 3 or higher.
Built for agents too
The same engine behind this page is available as a JSON API and an MCP server.
curl 'https://equation-steps.gumballtools.com/api/v1/run?input=3(x-2)%20%3D%205x%20%2B%204'Questions people actually ask
What kinds of equations does this solve?
Linear equations in one variable (like "3(x-2) = 5x + 4") and quadratic equations (like "x^2 - 5x + 6 = 0" or "(x-2)(x+5) = 0"). It handles the whole path from a messy equation with parentheses on both sides down to the final answer, showing every intermediate step.
Why does it refuse "x/2 = 3" instead of just solving it?
Division is not parsed at all — "/" always triggers a refusal rather than a guess about what you meant. Division mixed with implicit multiplication is exactly the kind of place a parser can silently misread precedence. Rewrite the equation with a decimal coefficient instead: "x/2 = 3" becomes "0.5x = 3".
Why "x^3 = 8" refused instead of solved?
This tool only covers exponents 1 and 2 on the variable. Cubic and higher-degree equations need a different solving method (and can have irrational or complex roots that don’t reduce the same way), so rather than returning a partial or wrong answer it names the problem: "unsupported_exponent".
What happens with a negative discriminant?
The equation has no real solution, and the tool says so plainly — but it still shows the two complex roots (in the form p ± qi), labeled as complex rather than real. A tool that just says "no solution" and stops is technically defensible but throws away information a student or downstream calculation may need.
How are irrational roots reported?
Exactly, first: as a simplified radical like "1 + √3", using the smallest whole number under the root sign. A decimal approximation (e.g. "≈2.7321") is given alongside it, but the radical form is the exact answer — the decimal is rounded and is never the only thing returned.
Does it handle "(x+1)^2 = 4"?
Not directly — exponents are only supported on the bare variable, not on a parenthesised group, because squaring a binomial is exactly the kind of expansion where sign mistakes hide. Write it as "(x+1)(x+1) = 4" instead, which this tool expands correctly via FOIL.
What does "identity" or "contradiction" mean in the result?
An identity is an equation like "2(x+1) = 2x+2" that is true for every value of x — infinitely many solutions. A contradiction is one like "x+1 = x+2" that reduces to a false statement (1 = 2) and so has no solution at all. Both are reported explicitly rather than as an error, because they are valid answers.
Can I use a variable other than x?
No — only x (or uppercase X, treated identically) is understood. Any other letter, including function names like sin, sqrt, or log, causes a refusal naming the exact symbol found, rather than silently treating it as a second variable or ignoring it.