What this solver expects
Enter each equation in the form ax + by = c (two equations, two unknowns) or ax + by + cz = d (three equations, three unknowns). Every term needs its coefficient typed in explicitly, including a 1 for a bare variable and a 0 for a variable that's absent from that equation. The second equation of the classic example below is 0x + 2y + 5z = -4, so its x-coefficient is entered as 0, not left blank.
This tool solves square systems only: exactly as many equations as unknowns. That covers the two most common textbook cases (2 equations/2 unknowns and 3 equations/3 unknowns) but not an over- or under-determined system (say, 3 equations in 2 unknowns), and not a system where a variable appears squared, multiplied by another variable, or inside a trig/log/exponential function. Elimination in the form used here only applies to equations that are linear in every unknown.
The three possible outcomes, and what they mean geometrically
In two dimensions, each equation ax + by = c is a straight line. Two lines relate to each other in exactly three ways: they cross at one point (a unique solution), they run parallel and never meet (no solution), or they're the same line drawn twice (infinitely many solutions, since every point on that line satisfies both equations). Three dimensions works the same way one level up: each equation ax + by + cz = d is a plane, and three planes can meet at a single point, fail to share any common point, or share an entire line or plane of common points.
"Infinitely many solutions" doesn't mean the equations are wrong or trivial: it means one equation carries no new information beyond what the others already say. Doubling every term of an equation is the clearest example (2x + y = 5 and 4x + 2y = 10 are the same line), but redundancy can also hide inside a combination of several equations, which is exactly what elimination is built to expose.
How Gaussian elimination finds the answer
The method works by using one equation to cancel a variable out of the others, repeating until each equation contains only one unknown. This calculator uses the standard variant with partial pivoting: at each step, it eliminates using whichever remaining equation has the largest coefficient for the variable being cleared, rather than always the first one. That ordering choice doesn't change the answer, but it avoids dividing by a coefficient close to zero, which is where naive elimination becomes numerically unstable.
Whether the system lands on a unique solution, no solution, or infinitely many falls out of the same process rather than needing a separate check. If elimination reduces some equation to "0 = 0" (every coefficient and the constant cancel to zero), that equation added no independent information, and the system is under-determined. If it instead reduces an equation to "0 = k" for some nonzero k, the remaining equations can't all be true at once.
A worked example, step by step
Take x + y + z = 6, 2y + 5z = -4, and 2x + 5y - z = 27 (the default values loaded in the 3-equation mode above). The second equation already has no x term, so use the first equation to remove x from the third: multiply the first equation by 2 and subtract it from the third, giving (2x + 5y - z) - 2(x + y + z) = 27 - 12, which simplifies to 3y - 3z = 15, or y - z = 5.
Now two equations remain in y and z: 2y + 5z = -4 and y - z = 5. Multiply the second by 2 and subtract from the first: (2y + 5z) - 2(y - z) = -4 - 10, which simplifies to 7z = -14, so z = -2. Substituting back, y - (-2) = 5 gives y = 3, and x + 3 + (-2) = 6 gives x = 5. Every step here is the same elimination logic the calculator runs automatically, just carried out on paper for one specific case.