ForHosting KIT · Math

Graphing quadratic inequalities

Type the three coefficients and the sign, and see which part of the line to shade: x² − 5x + 6 ≤ 0 has roots 2 and 3, the parabola opens upward, and the answer is [2, 3]. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
A
1
B
-5
C
6
Sign
<=
You get
Inequality
1x^2 - 5x + 6 <= 0
Discriminant
1
Parabola
opens_up
Roots
2, 3

Graphing quadratic inequalities is where algebra students most often lose the thread: finding the roots is the easy half, deciding which side of them to shade is the hard one. This capability takes the three coefficients of ax²+bx+c and the inequality sign, and returns the full picture — the discriminant, the boundary roots when they exist, which way the parabola opens, and the solution region both as interval notation and as a plain-language shading instruction. It handles every case deterministically: two distinct roots, a double root, and parabolas that never touch the x-axis at all.

From coefficients to a graph in one call

A quadratic inequality such as x²−5x+6 ≤ 0 asks for every value of x that makes the expression true, and the honest way to show the answer is a graph: draw the parabola, mark where it crosses the x-axis, and shade the region that satisfies the sign. Doing that by hand means computing the discriminant, solving for the roots, deciding the parabola's direction, and then reasoning about which side of the boundary belongs to the solution.

You send a, b, c and one of the four signs (<, <=, >, >=); you get back the boundary roots ordered from left to right, whether the parabola opens up or down, and a region object that states the shading in two interchangeable forms — compact interval notation like [-1, 4] or (-∞, 2) ∪ (3, +∞), and a sentence you could read straight to a student. Because the input is just three numbers and a sign, the whole thing resolves in microseconds and the result is byte-for-byte reproducible.

How the boundary cases are handled

Most mistakes in this topic come from the edges, so the solver treats them explicitly rather than as afterthoughts. When the discriminant is positive there are two distinct roots and the answer is either the interval between them or the union of the two outer wings, depending on the sign and on whether the parabola opens upward or downward — the solver flips the logic for you when a is negative, which is exactly where hand solutions go wrong.

When the discriminant is zero the parabola merely touches the axis at a double root, and the answer can be a single closed point, the whole line, the whole line with one open point, or the empty set; all four outcomes are distinguished and reported. When the discriminant is negative the curve never meets the axis, so the solution is either all real numbers or nothing at all.

Using it in homework tools, tutoring and content pipelines

The output is designed to be consumed by software, not just read. A homework checker can compare a student's shaded sketch against the interval; a tutoring app can read the description aloud; a content pipeline can generate hundreds of consistent worked examples by iterating over coefficients.

Render the graph in a tutoring app

Use the ordered roots and the shading vocabulary to draw the parabola boundary and the shaded band on a canvas without re-deriving the math.

Generate worked examples at scale

Iterate over coefficient sets to produce consistent, deterministic solutions for worksheets, with roots, discriminant and region in one object.

What input does it expect?

Three coefficients a, b and c (finite numbers, with a non-zero) and a sign, one of <, <=, > or >=.

What if the parabola has no real roots?

The discriminant is reported as negative and the region is either all real numbers or the empty set, depending on the sign and the parabola's direction.

Is the result deterministic?

Yes. It is pure arithmetic with stable rounding, no randomness and no clock, so identical inputs always return byte-identical outputs.

How are strict and inclusive signs drawn?

Strict signs, less than or greater than, leave the roots out of the answer, so they get open circles and a dashed curve. Inclusive signs keep the roots in, with closed circles and a solid curve.

What happens when the discriminant is zero?

The parabola only touches the axis at a double root. Depending on the sign, the answer is that single point, the whole line, the whole line except that point, or no solution at all.

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/graphing-quadratic-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/math/graphing-quadratic-inequalities \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":1,"b":-5,"c":6,"sign":"<="}'
{
  "a": 1,
  "b": -5,
  "c": 6,
  "sign": "<="
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.graphing_quadratic_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.

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.

The same code runs free in your browser and over the API for $0.002 per call.

From coefficients to a graph in one call

This endpoint performs that entire chain for you.

How the boundary cases are handled

Strict signs always produce open endpoints and a dashed boundary curve; inclusive signs produce closed endpoints and a solid curve, and the description says so.

Using it in homework tools, tutoring and content pipelines

The roots array gives you the x-intercepts in ascending order so a canvas renderer can place the boundary points directly; the shading field is one of a small closed vocabulary (between_roots, outside_roots, single_point, all_except_root, all_real, no_solution), so a UI can switch on it without parsing text; and the interval string plus the description cover display and accessibility respectively.

Power a homework checker

Compare a student's interval answer against the computed solution region and mark open versus closed endpoints correctly.

What does it cost?

$0.002 per call via the API. It is also free to run in your browser on this page — the widget runs the same code.

How are strict versus inclusive signs reflected?

Strict signs (< and >) yield open endpoints and a dashed boundary; inclusive signs (<= and >=) yield closed endpoints and a solid boundary. The description states which applies.

Why is a = 0 rejected?

Because with a = 0 the expression is linear, not quadratic. Solve it with a linear inequality solver instead; this capability errors rather than silently change the problem.

Read the full KIT documentation →