ForHosting KIT · Math

Gauss-Jordan elimination calculator

The classic system that opens with 2x + y − z equal to 8 solves to (x, y, z) = (2, 3, −1). Type each equation as a row of numbers and see whether there is one solution, infinitely many or none. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon

Runs in your browser. Free, unlimited — your data never leaves this page.

The response includes the complete RREF, a status tag that tells you whether the system has a unique solution, infinitely many solutions, or no solution at all, and the solution vector itself when it is unique. Rows with inconsistent lengths are rejected immediately, because a ragged array is not a well-defined system. Everything is deterministic floating-point arithmetic: no network calls, no randomness, no date-dependent behavior, so the same input always produces the same output.

What the elimination finds and shows you

Gauss-Jordan elimination is the complete form of row reduction: starting from the augmented matrix [A|b] of a linear system, elementary row operations are applied until the coefficient block is in reduced row echelon form, meaning every leading entry is one, every pivot is the only nonzero entry in its column, and each pivot sits strictly to the right of the pivot in the row above. At that point the system solves itself, because each pivot row simply states the value of one unknown and the last column holds the constants.

This calculator performs exactly that process with partial pivoting for numerical stability: for each coefficient column it picks the largest-magnitude entry below the current row, swaps it into place, scales the row so the pivot becomes one, and eliminates that column from every other row, above and below. The engine never invents an answer it cannot justify: inconsistent and underdetermined systems are reported honestly with their status rather than being forced into a bogus vector.

Reading the three outcomes and where this tool fits

The status field is the heart of the response and mirrors the three classical cases of a linear system. When the rank of the coefficient block equals the number of unknowns and no contradictory row exists, the status is unique and the solution array gives the value of every unknown in order, read straight from the last column of the RREF; this is the textbook case for circuit equations, interpolation problems, and small equilibrium models.

When elimination produces a row of zero coefficients with a nonzero constant, the status is inconsistent and no solution is returned, which is exactly the signal you want when checking whether measured data can satisfy an exact model. Students use all three cases to verify hand work before exams; teachers pre-generate answer keys without trusting opaque calculator apps; developers seed deterministic test vectors for their own solvers; and analysts sanity-check small dense systems offline, without a computer algebra system, under time pressure.

Homework and exam checks

Solve textbook systems from their augmented matrix, compare the RREF with your hand row-reduction, and confirm unique, infinite, or inconsistent status before the exam.

Tutoring and education UIs

Normalize user-entered systems into RREF so bound versus free variables and contradictory rows are obvious to the learner.

What does the Gauss-Jordan elimination calculator cost?

It is free in your browser on this page.

How do I format the input matrix?

One row per equation: the coefficients of the unknowns in order, then the right-hand side as the last entry. A system of m equations in n unknowns is an m×(n+1) array, and every row must have the same length.

What happens if a row has the wrong number of entries?

Ragged rows are never solved, because they do not define a valid system.

What do the status values unique, infinite, and inconsistent mean?

Unique means exactly one solution and it is returned in solution. Inconsistent means a contradictory row (zero coefficients, nonzero constant) and no solution exists.

Does the system have to be square?

No. Overdetermined and underdetermined systems are accepted; the status field reports how the solution set came out. Only the row-length consistency and the documented size limits are enforced.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/math/gauss-jordan-elimination

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/math/gauss-jordan-elimination \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"matrix":[[2,1,-1,8],[-3,-1,2,-11],[-2,1,2,-3]]}'
{
  "matrix": [
    [
      2,
      1,
      -1,
      8
    ],
    [
      -3,
      -1,
      2,
      -11
    ],
    [
      -2,
      1,
      2,
      -3
    ]
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.gauss_jordan_elimination",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_rows50
max_cols51
max_abs_entry1000000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This Gauss-Jordan elimination calculator solves a system of linear equations directly from its augmented coefficient matrix: you enter one row per equation with the right-hand side as the last entry, and the engine reduces the matrix to reduced row echelon form with partial pivoting, then reads the answer off the final column.

What Gauss-Jordan elimination does and what the response contains

The response returns the RREF of the full augmented matrix rounded to the requested precision, an echo of the original matrix, a status field that is unique, infinite, or inconsistent, the solution vector when the status is unique, the list of free variable indices when the status is infinite, zero-based pivot pairs and structured pivot_positions, the rank of the coefficient block, the equation and unknown counts, the method tag gauss_jordan_elimination, the precision used, a short formula reminder, and the maximum supported dimensions. Rejected inputs include a missing matrix, non-array rows, a row whose length differs from the first row, non-finite entries, and magnitudes above the documented ceiling, all reported as invalid_input without charge.

How to write the augmented matrix and how the answer stays reproducible

The input field is matrix, a nested array of rows of finite numbers. Each row describes one equation: the coefficients of the unknowns in order, followed by the right-hand side as the last entry, so a system of m equations in n unknowns is an m by n+1 array. The system does not have to be square: overdetermined systems with more equations than unknowns and underdetermined ones with fewer equations are both valid inputs, and the status field tells you how the solution set came out. Entry strings with optional leading plus signs and scientific notation are accepted when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message. Every row must have the same length and at least two columns; if any row is shorter or longer than the first, the request fails immediately with invalid_input naming the row and the expected versus actual entry counts, because a ragged array does not define a linear system. Aliases a, A, mat, and augmented are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Computation is pure double-precision arithmetic with partial pivoting, and entries whose magnitude falls below the pivot epsilon are collapsed to exact zero, as is negative zero, so the JSON you receive is clean and byte-stable.

Reading the three outcomes and where this tool fits

When the system is consistent but some column never earns a pivot, the status is infinite and the free_variables array lists the zero-based indices of the unknowns you may choose freely, so a tutor or a UI can explain that the solution set is a line, a plane, or a higher-dimensional flat rather than a point. On this page the computation runs entirely in your browser for free; through the API each successful request costs $0.002, failed validation is never charged, and nothing is stored after the response returns. That split matches the rest of the KIT tier-A catalog, so you can move from an interactive classroom demo to an automated grading or verification pipeline without changing the mathematical result, and pair this tool with the matrix inverse, determinant, or rank calculators when a workflow needs related linear algebra steps.

Deterministic solver fixtures

Generate reproducible RREF matrices, solution vectors, and status tags for unit tests and CI assertions on your own numerical code.

Read the full KIT documentation →