Symbolic Algebra Engine
Work on algebra with the letters kept as letters. Expand, simplify and factor expressions, solve equations exactly, rearrange a formula for any variable, split a fraction into partial fractions, or view the expression tree. Coefficients are exact fractions, so answers come out as 1/2, √2 or i, never as rounded decimals.
How to Use
- Type an expression. Use
^for powers; multiplication can be*or implied, so2xand(x+1)(x-2)both work. Variables are letters or words. - Pick an operation: Expand, Simplify, Factor, Solve, Solve for…, Partial fractions or Tree.
- For Solve, write an equation such as
x^2 - 5x + 6 = 0; without an=the expression is set equal to 0. The Variable box (x by default) says which letter to solve for. - For Solve for…, type the formula and the variable to isolate:
V = I*RforRgivesR = V / I. - The result updates as you type; Copy puts it on the clipboard. The example chips load one case of each operation.
Worked Example
Expand (x + 3)(x − 4), then factor it back. Multiplying every term by every term gives x² − 4x + 3x − 12 = x² − x − 12. To factor, the tool tries rational roots: they must divide the constant 12, and x = −3 is the first that makes the polynomial zero (9 + 3 − 12 = 0), then x = 4. So x² − x − 12 = (x + 3)(x − 4).
Solve x² − 5x + 6 = 0. Here a = 1, b = −5 and c = 6, so the discriminant is 25 − 24 = 1, a perfect square, and x = (5 ± 1) ÷ 2 gives x = 3 and x = 2, both exact. Had the discriminant not been a square, the answer would be left as a surd: x² − 2x − 1 = 0 gives 1 ± √2.
The common mistake: (x + 3)² = x² + 9. Squaring a sum is not squaring each term. Expand gives x² + 6x + 9: the middle term 6x is 2 × x × 3. At x = 1 the correct form gives 16, which is (1 + 3)², while x² + 9 gives 10.
Show Work
Formulas
From al-jabr to Computer Algebra
The word algebra comes from al-jabr, one of the two operations in the title of Muhammad ibn Musa al-Khwarizmi’s book on solving equations, written in Baghdad around 820. He worked entirely in words. Letters for quantities came much later: François Viète used letters for both unknowns and known constants in 1591, and René Descartes’s La Géométrie (1637) set the habit of x, y and z for unknowns and a, b and c for constants that is still used today.
Programs that manipulate formulas rather than numbers appeared in the 1960s. Macsyma was begun at MIT in 1968 as part of Project MAC, Maple was started at the University of Waterloo in 1980, and Mathematica was released in 1988. They all rest on the same idea as this tool: represent an expression exactly, as polynomials with rational coefficients, and never round.
About This Tool
This engine has its own parser and exact fraction arithmetic, so it never evaluates your input as code and never rounds. It covers the algebra of a school or first-year course: expanding, factoring over the rationals, cancelling fractions, solving linear and quadratic equations exactly, finding rational roots of higher-degree polynomials, rearranging formulas, and partial fractions over linear factors. The tree view shows how the expression was read, which helps when a result is not what you expected.
Everything runs in your browser; nothing is uploaded.
Related tools: Quadratic Formula Calculator, Derivative Calculator, and Calculus Workbench.
Frequently Asked Questions
What kinds of expressions can it handle?
Polynomials and ratios of polynomials, in one or several variables, with exact fraction coefficients: (x + 1/2)^2 expands to x² + x + 1/4. Powers must be whole numbers, and sqrt() is accepted only for perfect squares such as sqrt(16). Trigonometric, exponential and logarithmic functions are not supported.
Which equations can it solve?
Linear and quadratic equations exactly, including surds and complex roots: x² − 2x − 1 = 0 gives x = 1 + √2 and 1 − √2 (about 2.414214 and −0.414214), and x² + 1 = 0 gives x = i and −i. For degree 3 and higher it finds every rational root, so x³ − 6x² + 11x − 6 = 0 gives 1, 2 and 3; a quadratic left over is solved too, and anything of higher degree that remains is reported rather than guessed.
How does Solve for rearrange a formula?
It moves everything to one side, collects the powers of the chosen variable, and solves. A formula that is linear in the variable gives a single answer: V = I*R for R is R = V / I, and A = (1/2)*b*h for h is h = 2A / b. If the variable appears squared, the answer is the quadratic formula written with the other letters.
What are partial fractions used for?
They split one fraction into simpler ones that are easy to integrate or to turn back from a Laplace transform. (3x + 5)/((x + 1)(x + 2)) becomes 2/(x + 1) + 1/(x + 2); at x = 0 both sides are 2.5. The tool handles any denominator that factors into linear factors over the rationals, repeated ones included, and says so when a factor such as x² + 1 cannot be split that way.
Why does Simplify turn (x² − 1)/(x + 1) into x − 1?
The numerator factors as (x + 1)(x − 1), and the common factor x + 1 cancels; the tool finds it with the Euclidean algorithm for polynomials. The two forms agree everywhere except x = −1, where the original is 0/0 and undefined while x − 1 gives −2. The simplified result does not carry that restriction, so keep it in mind when solving.
How do I use the Symbolic Algebra Engine?
Just type your numbers. The answer shows up right away — there is no button to press. Change anything and it updates by itself.
Does it cost anything or need an account?
No. The tool is completely free, there is no account to create, and it keeps working offline after the page first loads.
Is anything I type uploaded?
No. The tool works entirely on your device, so the values you enter never leave your browser.
Common Use Cases
Homework checks
Factor x² − x − 12 into (x + 3)(x − 4), then expand it back.
Electrical formulas
Rearrange V = IR to R = V / I: 12 V at 2 A is 6 Ω.
Exact roots
x² − 2x − 1 = 0 has the roots 1 ± √2, kept as surds.
Calculus preparation
Split (3x + 5)/((x + 1)(x + 2)) into 2/(x + 1) + 1/(x + 2) before integrating.
Teaching precedence
The tree of 2x^2 + 3x − 5 shows the power is applied before the multiplication by 2.
Last updated: