The only possible angles at the internal point, other than the 90 that is disallowed, are 120 degrees and 60 degrees. They must add up to 360, and so must be one 120-degree angle and four 60-degree angles. Here are the possibilities that lead to an integral-length side on the perimeter:
length adjacent resulting angle
1 length outer between
segment them
3 8 7 60
5 8 7 60
5 21 19 60
6 16 14 60
7 15 13 60
8 15 13 60
9 24 21 60
10 16 14 60
15 24 21 60
16 21 19 60
3 5 7 120
5 16 19 120
6 10 14 120
7 8 13 120
9 15 21 120
11 24 31 120
12 20 28 120
14 16 26 120
21 24 39 120
Five of these wedges must be made to fit together around the internal point to add up to 360 degrees. The only way that can be done is as follows:
length angle outer segment
21
120 39
24
60 21
15
60 13
8
60 7
5
60 19
The outer segments add up to 99, making that the perimeter of the pentagon.
DECLARE FUNCTION asin# (x#)
DECLARE FUNCTION acos# (x#)
DEFDBL A-Z
DIM SHARED pi
DIM s1s(1, 20), s2s(1, 20), s3s(1, 20)
CLS
pi = ATN(1) * 4
FOR s1 = 1 TO 23
FOR s2 = s1 + 1 TO 24
FOR s3 = s2 - s1 + 1 TO s2 + s1 - 1
cosa = (s1 * s1 + s2 * s2 - s3 * s3) / (2 * s1 * s2)
a = acos(cosa)
ia = INT(a + .5)
IF ABS(a - ia) < .0000001 AND ia <> 90 THEN
PRINT USING "## ## ### ###"; s1; s2; s3; a
IF ia = 60 THEN sub1 = 0: ELSE sub1 = 1
ct(sub1) = ct(sub1) + 1
s1s(sub1, ct(sub1)) = s1
s2s(sub1, ct(sub1)) = s2
s3s(sub1, ct(sub1)) = s3
END IF
NEXT
NEXT
NEXT
PRINT
FOR i = 1 TO ct(0)
PRINT USING "## ## ### ###"; s1s(0, i); s2s(0, i); s3s(0, i); 60
NEXT
FOR i = 1 TO ct(1)
PRINT USING "## ## ### ###"; s1s(1, i); s2s(1, i); s3s(1, i); 120
NEXT
FOR a120 = 1 TO ct(1)
s(1) = s1s(1, a120)
s(2) = s2s(1, a120)
FOR a2 = 1 TO ct(0)
IF s1s(0, a2) = s(2) OR s2s(0, a2) = s(2) THEN
IF s1s(0, a2) = s(2) THEN s(3) = s2s(0, a2):
ELSE s(3) = s1s(0, a2)
FOR a3 = 1 TO ct(0)
IF a3 <> a2 AND (s1s(0, a3) = s(3) OR s2s(0, a3) = s(3)) THEN
IF s1s(0, a3) = s(3) THEN s(4) = s2s(0, a3):
ELSE s(4) = s1s(0, a3)
FOR a4 = 1 TO ct(0)
IF a4 <> a2 AND a4 <> a3 AND (s1s(0, a4) = s(4) OR s2s(0, a4) = s(4)) THEN
IF s1s(0, a4) = s(4) THEN s(5) = s2s(0, a4):
ELSE s(5) = s1s(0, a4)
FOR a5 = 1 TO ct(0)
IF a5 <> a2 AND a5 <> a3 AND a5 <> a4 AND
(s1s(0, a5) = s(5) OR s2s(0, a5) = s(5)) THEN
IF s1s(0, a5) = s(5) THEN s(6) = s2s(0, a5):
ELSE s(6) = s1s(0, a5)
IF s(6) = s(1) THEN
PRINT s(1)
PRINT 120, s3s(1, a120)
PRINT s(2)
PRINT 60, s3s(0, a2)
PRINT s(3)
PRINT 60, s3s(0, a3)
PRINT s(4)
PRINT 60, s3s(0, a4)
PRINT s(5)
PRINT 60, s3s(0, a5)
PRINT : PRINT
END IF
END IF
NEXT
END IF
NEXT
END IF
NEXT
END IF
NEXT
NEXT
FUNCTION acos (x)
acos = 90 - asin(x)
END FUNCTION
FUNCTION asin (x)
asin = ATN(x / SQR(1 - x * x)) * 180 / pi
END FUNCTION
From Enigma No. 1543, "Pentagony", by Adrian Somerfield, New Scientist, 2 May 2009, page 24.
|