```
Heronian Triangle Table
Reduced integer triangles with integer areas
14 Sep 1997 by Michael Somos <ms639@georgetown.edu>
http://grail.eecs.csuohio.edu/~somos/tritab.txt

Side lengths are a1,a2,a3. Angle measures are A1,A2,A3.
tan(A1/2) = p1/q1, tan(A2/2) = p2/q2, tan(A3/2) = p3/q3.
0 < a1 <= a2 <= a3. Vertices are (x1,y1),(x2,y2),(x3,y3).
P = a1+a2+a3, s = P/2, s1 = s-a1, s2 = s-a2, s3 = s-a3.
Area D = sqrt(s*s1*s2*s3).  at = 1, 2, or 3, i^2 = -1.
q1+p1*i=(m2-n2*i)*(m3+n3*i)*i^(at==1).
q2+p2*i=(m3-n3*i)*(m1+n1*i)*i^(at==2).
q3+p3*i=(m1-n1*i)*(m2+n2*i)*i^(at==3).
if at==1 then n3/m3 < n1/m1 < n2/m2.
if at==2 then n1/m1 < n2/m2 < n3/m3.
if at==3 then n2/m2 < n3/m3 < n1/m1.

n  a1  a2  a3 :   P     D    x1  y1  x2  y2  x3  y3 : n1 m1 n2 m2 n3 m3 : at
-------------------------------------------------------------------------------
1   3   4   5 :  12     6 :   3   0   0   4   3   4 :  0  1  1  1  2  1 : 2
2   5   5   6 :  16    12 :   0   4   6   4   3   0 :  1  2  2  1  0  1 : 1
3   5   5   8 :  18    12 :   3   8   3   0   0   4 :  2  1  1  2  1  1 : 3
4   5  12  13 :  30    30 :   5   0   0  12   5  12 :  0  1  1  1  3  2 : 2
5  10  13  13 :  36    60 :   5   0   0  12  10  12 :  0  1  2  3  3  2 : 2
6   4  13  15 :  32    24 :   9   0   0  12   4  12 :  0  1  3  2  2  1 : 2
7  13  14  15 :  42    84 :  14  12   5   0   0  12 :  3  2  0  1  1  2 : 3
8   9  10  17 :  36    36 :  15   0   0   8   9   8 :  0  1  2  1  4  1 : 2
9   8  15  17 :  40    60 :  15   8   0   0   0   8 :  1  1  0  1  1  4 : 3
entire 79396 byte table
The "C" program to produce it
-------------------------------------------------------------------------------

```

Back to rational triangles