OFFSET
1,1
COMMENTS
These triangles are called "geometric triangles" in Project Euler problem 370 (see link).
The triples are displayed in increasing lexicographic order (a, b, c).
Equivalently: triples of integer-sided triangles such that b^2 = a*c with a < c and gcd(a, c) = 1.
When a < b < c are in geometric progression with b = a*q, c = b*q, q is the constant, then 1 < q < (1+sqrt(5))/2 = phi = A001622 = 1.6180... (this bound is used in Maple code).
For each triple (a, b, c), there exists (r, s), 0 < r < s such that a = r^2, b = r*s, c = s^2, q = s/r.
Angle C < 90 degrees if 1 < q < sqrt(phi) and angle C > 90 degrees if sqrt(phi) < q < phi with sqrt(phi) = A139339 = 1.2720...
For k >= 2, each triple (a, b, c) of the form (k^2, k*(k+1), (k+1)^2) is (A008133(3k+1), A008133(3k+2), A008133(3k+3)).
Three geometrical properties about these triangles:
1) The sinus satisfy sin^2(B) = sin(A) * sin(C) with sin(A) < sin(B) < sin(C) that form a geometric progression.
2) The heights satisfy h_b^2 = h_a * h_c with h_c < h_b < h_a that form a geometric progression.
3) b^2 = 2 * R * h_b, with R = circumradius of the triangle ABC.
LINKS
David A. Corneth, Table of n, a(n) for n = 1..10002
Project Euler, Problem 370: Geometric Triangles.
EXAMPLE
The smallest such triangle is (4, 6, 9) with 4*9 = 6^2.
There exist four triangles with small side = 49 corresponding to triples (49, 56, 64), (49, 63, 81), (49, 70, 100) and (49, 77, 121).
The table begins:
4, 6, 9;
9, 12, 16;
16, 20, 25;
25, 30, 36;
25, 35, 49;
25, 40, 64;
36, 42, 49;
...
MAPLE
for a from 1 to 300 do
for b from a+1 to floor((1+sqrt(5))/2 * a) do
for c from b+1 to floor((1+sqrt(5))/2 * b) do
k:=a*c;
if k=b^2 and igcd(a, b, c)=1 then print(a, b, c); end if;
end do;
end do;
end do;
PROG
(PARI) lista(nn) = {my(phi = (1+sqrt(5))/2); for (a=1, nn, for (b=a+1, floor(a*phi), for (c=b+1, floor(b*phi), if ((a*c == b^2) && (gcd([a, b, c])==1), print([a, b, c])); ); ); ); } \\ Michel Marcus, Dec 25 2020
(PARI) upto(n) = my(res=List(), phi = (sqrt(5)+1) / 2); for(i = 2, sqrtint(n), for(j = i+1, (i*phi)\1, if(gcd(i, j)==1, listput(res, [i^2, i*j, j^2])))); concat(Vec(res)) \\ David A. Corneth, Dec 25 2020
CROSSREFS
KEYWORD
nonn,easy,tabf
AUTHOR
Bernard Schott, Dec 19 2020
EXTENSIONS
Data corrected by David A. Corneth, Dec 25 2020
STATUS
approved