In geometry, a Heronian triangle is a triangle whose sidelengths and area are all rational numbers. It is named after Hero of Alexandria.


Any triangle whose sidelengths are a Pythagorean triple is Heronian, as the sidelengths of such a triangle are integers, and its area (being a right-angled triangle) is just half of the product of the two sides at the right angle.

A triangle with sidelengths c, e and b + d, and height a.

An example of a Heronian triangle which is not right-angled is the one with sidelengths 5, 5, and 6, whose area is 12. This triangle is obtained by joining two copies of the right-angled triangle with sides 3, 4, and 5 by the side of length 4. This approach works in general, as illustrated in the picture to the right. One takes a Pythagorean triple (a, b, c), with c being largest, then another one (a, d, e), with e being largest, constructs the triangles with these sidelengths, and joins them together by the side of length a, to obtain a triangle with integer sidelengths c, e, and b + d, with rational area

(one half times the base times the height).

An interesting question to ask is whether any Heronian triangle can be obtained by joining together two right-angled triangles described in this procedure. The answer is no. If one takes the Heronian triangle with sidelengths 0.5, 0.5, and 0.6, which is just the triangle described above shrunk 10 times, it clearly cannot be decomposed into two triangles with integer sidelengths. Nor for example can a 5, 29, 30 triangle with area 72, since none of its altitudes are integers. However, if one allows for Pythagorean triples with rational entries, not necessarily integers, then the answer is affirmative. Note that a triple with rational entries is just a scaled version of a triple with integer entries.


Given a Heronian triangle, one can split it into two right-angled triangles, whose sidelengths form Pythagorean triples with rational entries.

Proof of the theorem

Consider again the illustration to the right, where this time it is known that c, e, b + d, and the triangle area A are rational. We can assume that the notation was chosen so that the sidelength b + d is the largest, as then the perpendicular onto this side from the opposite vertex falls inside this segment. To show that the triples (a, b, c) and (a, d, e) are Pythagorean, one must prove that a, b, and d are rational.

Since the triangle area is

one can solve for a to find

which turns out to be rational, as all the numbers on the right-hand side are rational. Left is to show that b and d are rational.

From the Pythagorean theorem applied to the two right-angled triangles, one has


One can subtract these two, to find



The right-hand side is rational, because by assumption, c, e, and b + d are rational. Then, b − d is rational. This, together with b + d being rational implies by adding these up that b is rational, and then d must be rational too. Q.E.D.

Exact formula for Heronian triangles

The following formulas generate all Heronian triangles:

where and are rational numbers.[1]

See also


  1. Carmichael, R. D. The Theory of Numbers and Diophantine Analysis. New York: Dover, 1952.

ar:مثلث هيروني eo:Triangulo de Heron nl:Heron driehoek th:รูปสามเหลี่ยมฮีโรเนียน

Community content is available under CC-BY-SA unless otherwise noted.