Find all sets of positive integers A, B, and C which satisfy
1/A = 1/B + 1/C.
There doesn't seem to be a limit as to the number of sets that satisfy the equation.
The equation becomes
bc=ac+ab, or
bc=a(b+c), or
a = bc/(b+c)
The following program seems to produce solutions going on and on:
DECLARE FUNCTION gcd# (x#, y#)
DEFDBL A-Z
sum = 1
DO
sum = sum + 1
FOR b = 1 TO sum / 2
c = sum - b
a = b * c / sum
IF a = INT(a) THEN
IF gcd(gcd(a, b), c) = 1 THEN
PRINT a, b, c, sum
END IF
END IF
NEXT
LOOP
FUNCTION gcd (x, y)
dnd = x: dvr = y
IF dnd < dvr THEN SWAP dnd, dvr
DO
q = INT(dnd / dvr)
r = dnd - q * dvr
dnd = dvr: dvr = r
LOOP UNTIL r = 0
gcd = dnd
END FUNCTION
such as:
1 2 2
2 3 6
3 4 12
4 5 20
6 10 15
5 6 30
6 7 42
10 14 35
12 21 28
7 8 56
15 24 40
8 9 72
14 18 63
20 36 45
9 10 90
21 30 70
10 11 110
18 22 99
24 33 88
28 44 77
30 55 66
11 12 132
35 60 84
12 13 156
...
102 138 391
112 161 368
120 184 345
126 207 322
130 230 299
132 253 276
23 24 552
95 120 456
119 168 408
143 264 312
...
330 555 814
336 592 777
340 629 740
342 666 703
37 38 1406
105 114 1330
165 190 1254
217 266 1178
261 342 1102
297 418 1026
325 494 950
345 570 874
357 646 798
...
69 70 4830
201 210 4690
549 630 4270
649 770 4130
741 910 3990
901 1190 3710
969 1330 3570
1081 1610 3290
1161 1890 3010
1189 2030 2870
1209 2170 2730
1221 2310 2590
70 71 4970
138 142 4899
204 213 4828
268 284 4757
330 355 4686
390 426 4615
448 497 4544
504 568 4473
558 639 4402
610 710 4331
660 781 4260
708 852 4189
754 923 4118
798 994 4047
840 1065 3976
880 1136 3905
918 1207 3834
954 1278 3763
and so forth.
Maybe there's a pattern here, and solutions can be categorized, so as to be able to enumerate the classes. The program already weeds out those where a, b and c share a common factor, such as 2,4,4, which is merely a reiteration of 1,2,2.
|
Posted by Charlie
on 2003-07-20 04:49:28 |