Logo

MonoCalc

/

System of Equations Solver

Math

System Configuration

Variable Names

Equations (one per row)

Use variable names: x, y, z. Example: 2x + y = 7

About This Tool

🧮 System of Equations Solver – Gaussian Elimination & Linear Algebra

A system of equations is a set of two or more equations sharing the same unknowns. Solving them together — finding values that satisfy every equation simultaneously — is one of the most fundamental problems in mathematics, engineering, and science. This tool automates that process for linear systems of up to 6 variables, giving you exact numeric answers, a complete row-operation log, and a classification of the solution type.

📐 What Is a Linear System?

A linear system contains only first-degree terms: no powers (x²), no products of variables (xy), and no transcendental functions (sin x). Every equation takes the form:

a₁x₁ + a₂x₂ + … + aₙxₙ = b

where the aᵢ are coefficients (real numbers you supply) and b is the constant on the right-hand side. Written as a matrix equation: Ax = b, where A is the coefficient matrix, x is the unknown vector, and b is the constants vector.

✍️ How to Enter Equations

Type each equation using the variable names you defined (default: x, y, z). Coefficients immediately precede the variable with no space:

2x + y - z = 8
-3x - y + 2z = -11
-2x + y + 2z = -3

Accepted coefficient formats include:

  • 2x — integer coefficient
  • -3.5y — negative decimal coefficient
  • x — coefficient of 1 (omitted)
  • -z — coefficient of −1
Tip
Make sure every equation uses the same variable names in the same order. The parser is case-sensitive — X and x are treated as different variables.

🔢 The Solving Algorithm: Gaussian Elimination

The solver converts your equations into an augmented matrix [A|b] and applies Gaussian elimination with partial pivoting:

  1. Forward elimination — row operations reduce the matrix to upper-triangular form. At each step the largest available pivot is chosen to minimise floating-point error.
  2. Rank check — the tool counts the non-zero rows of A and of [A|b] to classify the system before back-substitution.
  3. Back-substitution — starting from the last equation (which has only one unknown), values are substituted upward to find every variable.
  4. Verification — computed values are substituted back into the original equations; residuals close to zero confirm correctness.

📊 Understanding the Solution Types

System TypeConditionGeometric Meaning
Unique Solutionrank(A) = rank([A|b]) = number of variablesLines/planes intersect at exactly one point
Infinite Solutionsrank(A) = rank([A|b]) < number of variablesLines/planes coincide or share an infinite set of points
No Solutionrank(A) < rank([A|b])Lines/planes are parallel — never intersect

🎓 Rank and Determinant Explained

The rank of a matrix is the number of linearly independent rows (or columns). Intuitively, it counts how many "independent pieces of information" the system contains. When rank is less than the number of variables, the system is underdetermined — some variables are free.

The determinant is computed for square systems only. A non-zero determinant guarantees a unique solution; det(A) = 0 signals that the system is either dependent (infinite solutions) or inconsistent (no solution). The determinant also scales volumes and appears throughout physics and engineering.

📋 Reading the Step-by-Step Output

When Show Steps is enabled, the solver logs each row operation in the format:

R2 = R2 − 3·R1
R3 = R3 + (2/3)·R1
Swap R1 ↔ R2

Each operation is applied to the full augmented matrix and the intermediate result is shown so you can follow every transformation. This is valuable for students checking hand-calculations or teachers preparing worked examples.

🔬 Common Applications

  • Circuit analysis — Kirchhoff's current and voltage laws produce linear systems of node voltages or mesh currents.
  • Structural engineering — force balance at joints yields simultaneous equations for member forces.
  • Economics — supply-and-demand equilibrium, input-output models, and LP relaxations all involve linear systems.
  • Computer graphics — ray-plane intersection tests and coordinate transformations rely on solving Ax = b in real time.
  • Chemistry — balancing chemical equations by satisfying atom conservation for each element.
Limitations
This solver handles linear systems only (no x², sin x, or xy terms). For very large systems (7+ variables) or ill-conditioned matrices with nearly dependent rows, floating-point rounding may affect the last decimal places of the solution. The precision control (0–10 decimal places) lets you inspect results at the detail level you need.

💡 Tips for Best Results

  • Use the same variable names consistently across all equations.
  • If you get unexpected results, enable Show Steps and inspect the augmented matrix at each step to spot input errors.
  • For systems with infinitely many solutions, try fixing one variable to a specific value and re-solving the reduced system to get a particular solution.
  • Copy results with the Copy button to paste into your report, notes, or spreadsheet.

Frequently Asked Questions

Is the System of Equations Solver free?

Yes, System of Equations Solver is totally free :)

Can I use the System of Equations Solver offline?

Yes, you can install the webapp as PWA.

Is it safe to use System of Equations Solver?

Yes, any data related to System of Equations Solver only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the System of Equations Solver work?

Enter each equation in algebraic form (e.g., 2x + y - z = 8), choose the number of equations and variables, and click Solve. The solver parses the text into a coefficient matrix A and constants vector b, then applies Gaussian elimination to find x, y, z (and more). It also checks ranks to determine whether the system has a unique solution, infinitely many solutions, or no solution.

What types of systems does this tool support?

The solver handles 2×2 up to 6×6 linear systems with real coefficients. It accepts standard equation text entry (e.g., 3x - 2y = 7) or direct matrix/coefficient entry. Non-linear equations containing powers (x²), products (xy), or trigonometric functions are not supported — the tool is designed for linear algebra only.

How do I know if my system has no solution or infinitely many solutions?

The tool computes the rank of the coefficient matrix A and the augmented matrix [A|b]. If rank(A) equals rank([A|b]) and both equal the number of variables, there is a unique solution. If rank(A) = rank([A|b]) < number of variables, there are infinitely many solutions. If rank(A) < rank([A|b]), the system is inconsistent and has no solution.

What does the step-by-step output show?

Enabling 'Show Steps' displays each row operation during Gaussian elimination (e.g., R2 = R2 − 3·R1), the intermediate augmented matrix after each step, and the back-substitution calculations. This is useful for checking your manual work or learning the elimination process.

Can I use fractions or decimals as coefficients?

Yes. You can enter integer coefficients, decimal values (e.g., 1.5x), or simple fractions written as decimals. The output precision is configurable from 0 to 10 decimal places so you can see results with as much or as little detail as needed.

What is the determinant and why does the solver show it?

For square systems, the determinant of the coefficient matrix A tells you whether a unique solution exists: det(A) ≠ 0 means a unique solution, while det(A) = 0 signals a singular (dependent or inconsistent) system. The solver displays the determinant alongside the rank summary for a complete picture of the system's properties.