Triangle proportionality theorem
With AD of 4, DB of 6 and AE of 6, the missing piece EC is 9, because 4/6 equals 6/9. Enter any three of the four pieces cut by a line parallel to one side of a triangle and get the fourth. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Ad
- 4
- Db
- 6
- Ae
- 6
- Ec
- 9
- Missing
- ec
- Length
- 9
- Ratio
- 0.6666666667
The triangle proportionality theorem — also called the basic proportionality theorem or Thales' intercept theorem — says that a line drawn parallel to one side of a triangle and cutting the other two sides divides those two sides in the same ratio. In triangle ABC, if DE is parallel to BC with D on AB and E on AC, then AD over DB equals AE over EC. This calculator takes any three of those four parallel-cut segment lengths and returns the missing length.
What the theorem states and how the four segments sit on the triangle
The triangle proportionality theorem is a standard result in Euclidean geometry: if a line is parallel to one side of a triangle and intersects the other two sides, then it cuts those sides proportionally. Label the triangle ABC. Draw a line through the interior that is parallel to side BC and meets AB at D and AC at E.
The four segments that appear are AD from the apex to the intercept on AB, DB from that intercept down to B, AE from the apex to the intercept on AC, and EC from that intercept down to C. Parallelism forces the small triangle ADE to be similar to the large triangle ABC, so corresponding sides are in proportion and the intercepts satisfy AD over DB equals AE over EC.
The same identity is often written AD over AB equals AE over AC, which is equivalent because AB is AD plus DB and AC is AE plus EC. You omit the unknown field and send the three known lengths. The solver cross-multiplies to recover the missing piece and returns it as length, together with the completed quartet and the displayed proportion so you can show the working next to the answer.
A typical classroom check is AD four, DB six, AE six, which yields EC nine because four over six equals six over nine.
Where a triangle proportionality calculator earns its keep
Classrooms and tutoring platforms use a dedicated triangle proportionality theorem calculator so learners can check intercept homework without flipping a general similar-triangles page through extra modes. Exam-prep generators need a deterministic oracle that marks the missing intercept from three positive lengths and rejects a zero or negative known segment as invalid instead of silently inventing a side. Surveying notes, shop drawings, and simple CAD checks often reduce a parallel cut across a triangular bay to the same four-segment identity when only three tape measures are on the page.
Failed validation does not consume balance. Keep requests small, pin length and the completed quartet in tests, and you get reproducible intercepts for homework, LMS plugins, and edge workers without standing up a computer-algebra stack of your own. Distinct search intent from a right-triangle solver, a section-formula point divider, and a generic direct-variation page: this landing answers the intercept-theorem query that names the four parallel-cut segments.
What you can do with it
Classroom and homework checks
Let students submit any three of AD, DB, AE, and EC and verify the missing intercept against the textbook identity AD/DB = AE/EC.
Exam and LMS auto-grading
Mark intercept-theorem items with a deterministic oracle that rejects a non-positive known segment and never invents a fourth length from two.
Drawings and field notes
Recover the unmeasured cut on a triangular bay when a line is drawn parallel to the base and three tape readings are already on the sheet.
FAQ
How do I find a missing segment with the triangle proportionality theorem?
Send exactly three of ad, db, ae, and ec as positive finite lengths and omit the unknown.
What happens if a known segment is zero or negative?
A known intercept must be a positive finite number; those failures are not billed.
Which field should I leave out?
Leave out the unknown intercept. The solver names that field in missing and fills it in. Sending two fields or all four is rejected.
Is this the same as similar triangles or the section formula?
It is the intercept case of similar triangles (DE parallel to BC). It is not the section formula that divides a segment in ratio m:n between two points.
Can I use the form AD/AB = AE/AC instead?
Yes, the two forms are equivalent, because AB is AD plus DB and AC is AE plus EC. The calculator works with the four short pieces, so turn a full side into its two parts before entering it.
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/math/triangle-proportionality-theorem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ad":4,"AD":0.000001}'const res = await fetch("https://api.kit.forhosting.com/math/triangle-proportionality-theorem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ad": 4,
"AD": 0.000001
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/triangle-proportionality-theorem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ad": 4,
"AD": 0.000001
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/triangle-proportionality-theorem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ad":4,"AD":0.000001}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ad":4,"AD":0.000001}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/triangle-proportionality-theorem", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"ad": 4,
"AD": 0.000001
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.triangle_proportionality_theorem",
"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.
Limits
max_abs | 1000000000000000 |
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
Every known segment must be a positive finite number; zero, negative, infinite, or non-numeric values fail with invalid_input and are not billed.
What the theorem states and how the four segments sit on the triangle
This endpoint uses the four-segment form because that is how textbook and exam problems almost always present the data: three measured pieces and one unknown.
Input contract, the four recovery formulas, and error behaviour
Leave the unknown field out entirely. On success the body echoes the four lengths with the missing one filled in, names the omitted field in missing, returns length as the recovered value, reports the common ratio AD over DB, prints the proportion as a string you can display, and restates the formula that produced the unknown. The four recoveries are ad equals db times ae over ec, db equals ad times ec over ae, ae equals ad times ec over db, and ec equals db times ae over ad. Results are rounded to twelve decimal places so goldens stay stable across runtimes. POST a JSON body with exactly three of the four optional fields ad, db, ae, and ec. Each supplied value is a known parallel-cut segment and must be a positive finite number; it may arrive as a JSON number or as a numeric string. Aliases AD, DB, AE, EC and segment_ad, segment_db, segment_ae, segment_ec are accepted when the canonical name is omitted. Missing more than one field, sending all four, sending an empty object, or sending a non-object body fails with invalid_input that tells you to provide exactly three of the four lengths. Zero, a negative number, NaN, Infinity, or non-numeric text on a known segment fails with invalid_input naming that field as not a positive finite number. Those validation failures are not billed. Pair the payload with your own sketch of DE parallel to BC; this endpoint solves for one length only and does not emit drawings or multi-step classroom prose beyond the formula and proportion fields.
Technical questions
What does the triangle proportionality theorem calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.