System of Equations Solver
Enter the coefficients of a 2 × 2 or 3 × 3 linear system, or type the equations, and get the exact answer as fractions with every Gaussian elimination step shown.
Enter integers, decimals or fractions such as -3, 0.25 or 2/3. Empty boxes count as 0.
Gaussian elimination steps
Press Solve system to see each row operation.
Check
How to use the System of Equations Solver
- Pick the size: 2 × 2 for x and y, or 3 × 3 for x, y and z.
- Enter the coefficients in the boxes, or switch to Type equations and write one equation per line.
- Press Solve system to get the exact solution in fractions, with decimals underneath.
- Follow the steps: each row operation and the matrix after it are shown, ending in reduced row echelon form.
- Check the answer in the substitution list, and use Copy to paste it into your notes.
How Gaussian elimination solves a system
A system of linear equations can be written as an augmented matrix [A | b], where each row holds one equation's coefficients and its right-hand side. Three row operations never change the solution: swapping two rows, multiplying a row by a non-zero number, and adding a multiple of one row to another.
The solver works column by column: it picks a non-zero pivot, scales its row so the pivot is 1, and subtracts multiples of that row from every other row to clear the column. When it finishes, the matrix is in reduced row echelon form (RREF) and each variable can be read straight from the last column. All arithmetic uses exact fractions, so 1/3 stays 1/3 instead of 0.3333.
Worked example (3 × 3)
Solve 2x + y − z = 8, −3x − y + 2z = −11 and −2x + y + 2z = −3.
- R1 → (1/2)R1 gives [1, 1/2, −1/2 | 4].
- R2 → R2 + 3R1 and R3 → R3 + 2R1 clear x from rows 2 and 3: [0, 1/2, 1/2 | 1] and [0, 2, 1 | 5].
- R2 → 2R2 makes the next pivot 1, then eliminate y from rows 1 and 3, and so on for z.
The final matrix reads x = 2, y = 3, z = −1. Substituting back: 2(2) + 3 − (−1) = 8 ✓.
Unique, none or infinitely many solutions
| Case | What you see in RREF | Geometry (2 × 2) |
|---|---|---|
| Unique solution | A pivot in every column; rank = number of unknowns; determinant ≠ 0 | Two lines cross at one point |
| No solution | A row of the form [0 0 … 0 | c] with c ≠ 0 (rank A < rank [A|b]) | Parallel lines that never meet |
| Infinitely many | Fewer pivots than unknowns and no contradictory row; free variables remain | The same line written twice |
For infinitely many solutions the tool writes the general solution with a parameter, for example x = 3 − 2t, y = t, where t can be any real number.
Typing equations
In Type equations mode, write one equation per line using x, y and z, for example 2x - y/2 + 3 = 4z. Terms may appear on either side of the equals sign and are collected automatically; fractions such as 1/3x and decimals such as 0.5y work too.
Frequently asked questions
How do I solve a system of equations with three variables?
Write it as an augmented matrix and use row operations to eliminate one variable at a time (Gaussian elimination). When the matrix reaches reduced row echelon form, the last column gives x, y and z. This tool performs and shows every step.
Why does the answer show fractions?
The solver uses exact rational arithmetic, so results like 1/3 or −7/12 are shown exactly instead of rounded decimals. A decimal approximation is shown underneath each fraction.
What does 'no solution' mean?
The equations contradict each other. During elimination a row becomes 0 = c with c not zero. For two equations this means the lines are parallel and never intersect.
What does 'infinitely many solutions' mean?
At least one equation is a combination of the others, so there are fewer independent equations than unknowns. The tool gives a general solution with a free parameter t (and s) that can take any value.
Can I use decimals or fractions as coefficients?
Yes. Type values such as 0.75, -2.5 or 3/4. Empty boxes count as zero, which is useful when a variable does not appear in an equation.
How is this different from Cramer's rule?
Cramer's rule divides determinants and only works when the determinant is non-zero. Gaussian elimination works for every system and also identifies inconsistent and dependent systems. The determinant is still shown for reference.