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.
x = 2 or x = -5
quadratic · standard form: x^2 + 3x - 10 = 0
Start with the equation as given.
(x-2)(x+5) = 0
Expand the parentheses and combine like terms on each side.
x^2 + 3x - 10 = 0
Move every term to one side so the equation reads ax^2 + bx + c = 0.
x^2 + 3x - 10 = 0
Identify a, b, and c.
a = 1, b = 3, c = -10
Compute the discriminant, D = b^2 - 4ac.
D = (3)^2 - 4(1)(-10) = 49
Apply the quadratic formula, x = (-b ± √D) / (2a).
x = (-3 ± √49) / 2
D is a perfect square, so both roots are rational.
x = 2 or x = -5
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.