ForHosting KIT · Math

System of linear inequalities calculator

x + y ≤ 6 with x ≥ 0 and y ≥ 0 shades a triangle with corners (0, 0), (6, 0) and (0, 6). The calculator lists every boundary line and corner point and says whether the region is a polygon, unbounded or empty. Free in your browser.

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

A system of linear inequalities is a list of half-planes in the coordinate plane, each written a x plus b y compared with a constant. Their common intersection is the feasible region: a convex polygon, an unbounded convex set, or the empty set when the cuts contradict one another. This system of linear inequalities calculator accepts two or more rows of the form a x plus b y compared with c, returns every boundary line (including vertical and horizontal special cases), and lists the corner points where those lines meet inside the closed feasible region. Students use the corners as vertices of the shaded graph; linear-programming notebooks use the same vertices as candidate optima for a linear objective. The engine is pure and deterministic: Fourier–Motzkin elimination decides emptiness, pairwise line intersections produce candidate vertices, and a normal-angle test decides whether the region is a bounded polygon.

What a planar system means and which corners the calculator reports

Each inequality a x plus b y compared with c is a closed or open half-plane whose edge is the straight line a x plus b y equals c. A vertical edge appears when the coefficient of y is zero, a horizontal edge when the coefficient of x is zero, and a sloped edge otherwise, with slope equal to minus a over b and y-intercept equal to c over b. The feasible region is the set of points that satisfy every inequality at once.

Because a finite intersection of half-planes is a convex polyhedron in the plane, its geometry is completely described by the supporting lines and by the vertices where two or more of those lines meet while still obeying the rest of the system.

This calculator reports those geometric corners of the closed region: a strict less-than is treated as less-or-equal when vertices are collected, matching the solid-or-dashed classroom graph in which the corners of the shading are still the same points even if a dashed edge excludes them from the open set.

When the inequalities form a triangle in the first quadrant, such as x plus y at most six together with x at least zero and y at least zero, the three corners are the origin, the point six comma zero, and the point zero comma six. When the same first-quadrant cuts are paired with a lower bound such as x plus y at least one, the region is unbounded and the corners are only the two points where the slanted line meets the axes.

An inconsistent list, for example x at least two, y at least two, and x plus y at most one, has an empty feasible region and therefore no corners. Both coefficients of a row must be nonzero as a pair: a and b cannot vanish together, because then the statement would not define a line in the plane.

Input contract, boundary fields, and how emptiness and boundedness are decided

Each object needs finite numbers a, b, and c and a comparison operator op. The operator may be the symbols less, less-or-equal, greater, and greater-or-equal, or the short codes lt, le, gt, and ge, including the unicode less-or-equal and greater-or-equal signs. Corners are returned in counterclockwise order about their centroid, each with coordinates rounded to twelve decimal places and a lines array of one-based indices of the edges that pass through the point.

The region field is polygon when the set is a nonempty bounded polygon, unbounded when it is nonempty and recedes to infinity, and empty when Fourier–Motzkin elimination proves the half-planes have no common point. Boundedness is decided by the recession cone: the closed region is a polygon only when the outward normals of the constraints surround the origin, so that the only direction that stays feasible forever is the zero vector.

Classroom graphs and homework checks

Enter two or more inequalities a x + b y ⊙ c, read each boundary line, and verify the counterclockwise corner list against a hand-shaded feasible region.

Graphical linear programming

Collect the vertices of a planar feasible region so a linear objective can be evaluated at every corner without a general LP solver.

How do I find the corner points of a system of linear inequalities?

Send two or more rows {a, b, op, c} for a x + b y ⊙ c.

What is the difference between a polygon, an unbounded region, and an empty system?

region is polygon when the closed feasible set is a bounded convex polygon with at least three corners, unbounded when the set is nonempty and recedes to infinity, and empty when the half-planes have no common point.

Does a strict inequality change the listed corners?

Vertices are computed for the closed region, so a dashed (strict) edge still contributes the same geometric corners as its solid counterpart. The boundary line is reported with the original operator.

Why must a and b not both be zero?

If both coefficients vanish, a x + b y ⊙ c is not the equation of a line in the plane.

Why are the corner points useful?

On a graph they are the vertices of the shaded region. In linear programming they are the candidate points to test when you look for the best value of a linear objective inside that region.

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/algebra/system-of-inequalities

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/algebra/system-of-inequalities \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inequalities":[{"a":1,"b":1,"op":"<=","c":6},{"a":1,"b":0,"op":">=","c":0},{"a":0,"b":1,"op":">=","c":0}]}'
{
  "inequalities": [
    {
      "a": 1,
      "b": 1,
      "op": "<=",
      "c": 6
    },
    {
      "a": 1,
      "b": 0,
      "op": ">=",
      "c": 0
    },
    {
      "a": 0,
      "b": 1,
      "op": ">=",
      "c": 0
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "algebra.system_of_inequalities",
  "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_items16
max_abs_coeff1000000000000
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.

Failed validation is not billed; a successful call costs $0.002.

Input contract, boundary fields, and how emptiness and boundedness are decided

POST a JSON body whose inequalities field is an array of at least two and at most sixteen objects. Aliases system and constraints are accepted for the array so spreadsheets and typed forms can reuse the same contract. Missing rows, a non-array value, fewer than two rows, more than sixteen rows, a non-finite coefficient, an unknown operator, a magnitude above the documented ceiling, or a row with both a and b equal to zero all fail with invalid_input naming the field; those failures are not billed. On success the body echoes the normalized rows, lists one boundary object per inequality with a kind of sloped, horizontal, or vertical, and, when the kind makes the quantity exist, slope, intercept, x_const, or y_const. Pair this payload with your own plotter if you need a sketch; the endpoint does not emit images or step-by-step prose beyond the formula string.

Where a system of linear inequalities API earns its keep

Exam generators need a deterministic oracle that distinguishes a triangle, an unbounded first-quadrant region, and an empty contradiction, instead of an empty success list that a buggy grader might treat as a pass. Product and capacity planners encode budget, non-negativity, and mixing limits as a x plus b y compared with c and want the corner list before they attach an objective. Keep the row count small, pin the rounded corners in tests, and you get reproducible feasible-region geometry for homework, LMS plugins, and edge workers without standing up a symbolic solver of your own. Algebra classrooms and tutoring platforms graph systems by drawing each boundary and shading the intersection; an endpoint that returns the same vertices the teacher marks on the board lets a learner check a hand graph without a computer-algebra system.

Exam keys and LMS fixtures

Mark systems as a polygon, an unbounded set, or empty with a deterministic oracle that never invents extra intersections.

What does the system of linear inequalities calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →