Absolute value inequality solver
|2x − 3| < 5 holds for −1 < x < 4, the interval (−1, 4), while a greater-than version gives two outer rays instead. Enter your numbers and comparison to get the solution set, including empty and all-real cases. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- A
- 2
- B
- -3
- C
- 5
- Op
- <
- Inequality
- |2x-3|<5
- Interval
- (-1, 4)
- Solution
- -1 < x < 4
- Cases
- -c < ax+b < c → interior open interval between the two roots
Absolute value inequalities of the form modulus of ax plus b compared with c appear throughout algebra courses, entrance exams, and technical curricula that treat linear expressions under a modulus with a strict or non-strict comparison. Students need the solution set in clean interval notation for both less-than and greater-than forms; automation scripts need a deterministic contract that never invents an interval when the right-hand side makes the statement empty or always true. This absolute value inequality solver accepts coefficients a, b, and c plus a comparison operator, applies the textbook two-case split, and returns the ordered solution as an interval string, a readable solution line, and flags for empty, all-reals, union, and single-point sets.
What |ax + b| ⊙ c means and how the two cases split
The absolute value of a real number is its distance from zero on the number line, so |ax + b| compared with c asks for every x such that the linear expression ax plus b sits a distance from zero that satisfies the chosen comparison. That distance interpretation yields the classic two-case split used in every textbook.
For less-than forms, |u| less than c with c positive means the expression lies strictly between negative c and c, which produces a single open or closed interval between the two roots of |ax + b| equals c. For greater-than forms, |u| greater than c with c positive means the expression lies outside that band, which produces a union of two infinite rays.
The critical roots come from solving ax plus b equals c and ax plus b equals negative c; ordering those roots absorbs the sign of a so you never flip inequalities by hand when a is negative. When c is zero, strict less is empty, less-or-equal collapses to the single point where ax plus b is zero, strict greater is the real line with that point removed, and greater-or-equal is the entire real line.
When c is negative, less forms are empty because a modulus cannot be smaller than a negative number, while greater forms hold for every real x. Coefficient a must be non-zero: if a were zero the original statement would not determine x, only a true or false claim about |b| and c, which is outside the scope of solving for x.
Where solving these inequalities helps
Classrooms and tutoring platforms use an absolute value inequality solver so learners can check both less-than interiors and greater-than exterior unions for arbitrary a, b, c, and op without sign-flip errors when a is negative. Exam-prep generators need a deterministic oracle that returns the empty set for impossible less forms with negative c and the full real line for always-true greater forms, instead of silently inventing roots. Failed validation does not consume balance.
Keep requests small, pin the interval strings and rounded bounds in tests, and you get reproducible solution sets for homework, LMS plugins, and edge workers without standing up symbolic math infrastructure of your own.
What you can do with it
Classroom and homework checks
Let students submit a, b, c, and op for |ax+b| ⊙ c and verify interval notation for both less-than interiors and greater-than exterior unions.
Exam and LMS auto-grading
Mark absolute value inequality items with a deterministic oracle that returns ∅, a point, a closed interval, a union of rays, or all reals as appropriate.
Tolerance bands and notebooks
Solve symmetric linear absolute constraints |ax+b| ≤ c in calibration scripts without importing a full computer-algebra library.
FAQ
How do I solve |ax + b| < c or |ax + b| > c for x?
Send finite numbers a (non-zero), b, c, and op (<, <=, >, >=). Less forms return the interior interval between the two roots of |ax+b|=c when c>0; greater forms return the exterior union of two rays.
What happens if c is negative?
Less-than forms yield the empty set ∅ because absolute value cannot be less than a negative number. Greater-than forms yield all real numbers. Both are valid success responses, not errors.
Why must a be non-zero?
If a is zero, |ax+b| ⊙ c is not an inequality in x—only a true or false statement about |b| and c. The solver requires a≠0 so it can return a solution set for x.
What interval notation does the solver return?
Open or closed intervals for less forms, unions of two rays for greater forms when c>0, a singleton set when |ax+b|≤0, ∅ when empty, and (-∞, ∞) when every real x works.
What is the solution of |2x − 3| < 5?
All x with −1 < x < 4, written (−1, 4). The boundary points are left out because the comparison is strict: at −1 and 4 the expression equals 5 exactly, not less.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/algebra/absolute-value-inequality \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"b":-3,"c":5,"op":"<"}'const res = await fetch("https://api.kit.forhosting.com/algebra/absolute-value-inequality", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"b": -3,
"c": 5,
"op": "<"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/absolute-value-inequality",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"b": -3,
"c": 5,
"op": "<"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/absolute-value-inequality", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"b":-3,"c":5,"op":"<"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"b":-3,"c":5,"op":"<"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/absolute-value-inequality", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"a": 2,
"b": -3,
"c": 5,
"op": "<"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.absolute_value_inequality",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
When a is zero the statement is not an inequality in x and the task fails with invalid_input.
What |ax + b| ⊙ c means and how the two cases split
The capability encodes that requirement as invalid_input so clients can distinguish hard validation failures from empty but valid solution sets.
Input contract, response shape, and error behaviour
Example: a equals two, b equals negative three, c equals five, and op less than yields the inequality |2x-3|<5 and the open interval from negative one to four, because the interior between the critical roots is exactly that band. POST a JSON body with four required fields: a, the non-zero coefficient of x; b, the constant term inside the modulus; c, the finite right-hand side; and op, the comparison operator among less than, less than or equal, greater than, and greater than or equal. Each numeric field may arrive as a JSON number or as a numeric string; non-finite values, missing fields, and empty strings fail with invalid_input naming the field. Operator aliases such as lt, le, gt, ge and the unicode less-or-equal and greater-or-equal symbols are accepted, as are field aliases A, coeff, B, left_const, C, rhs, right, operator, comparison, and sense. On success the body echoes a, b, c, and op; an inequality string that rewrites the modulus form for display; interval as standard interval notation including unions and the empty-set symbol; solution as a readable algebraic description; boolean flags empty, all_reals, is_union, and is_point; optional left_bound and right_bound with inclusive flags when finite endpoints exist; a short cases string describing which branch applied; and a formula reminder of the two-case identity. Pair the response with your own number-line graphics if you need a sketch; this endpoint solves for the set only and does not emit plots or multi-step prose beyond the cases and formula fields.
Where an absolute value inequality API earns its keep
Engineering and science notebooks often reduce tolerance bands and piecewise-linear constraints to |ax+b| less than or equal to c when validating symmetric error bounds; calling a tiny parse API avoids pulling a full computer-algebra system for a four-field problem.
Technical questions
What does the absolute value inequality solver cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.