100 DECLARE EXTERNAL SUB tri 110 ! 120 PUBLIC NUMERIC U0(3,3), U1(3,3), U2(3,3), all, prim 130 DIM seed(3) 140 MAT READ U0, U1, U2 150 DATA 1, -2, 2, 2, -1, 2, 2, -2, 3 160 DATA 1, 2, 2, 2, 1, 2, 2, 2, 3 170 DATA -1, 2, 2, -2, 1, 2, -2, 2, 3 180 ! 190 MAT READ seed 200 DATA 3, 4, 5 210 FOR power = 1 TO 7 220 LET all = 0 230 LET prim = 0 240 CALL tri(seed, 10^power , all , prim) 250 PRINT "Up to 10^";power, 260 PRINT USING "######### triples ######### primitives":all,prim 270 NEXT power 280 END 290 ! 300 EXTERNAL SUB tri(i(), mp, all, prim) 310 DECLARE EXTERNAL FUNCTION SUM 320 DECLARE NUMERIC t(3) 330 ! 340 IF SUM(i) > mp THEN EXIT SUB 350 LET prim = prim + 1 360 LET all = all + INT(mp / SUM(i)) 370 ! 380 MAT t = U0 * i 390 CALL tri(t, mp , all , prim) 400 MAT t = U1 * i 410 CALL tri(t, mp , all , prim) 420 MAT t = U2 * i 430 CALL tri(t, mp , all , prim) 440 END SUB 450 ! 460 EXTERNAL FUNCTION SUM(a()) 470 LET temp = 0 480 FOR i=LBOUND(a) TO UBOUND(a) 490 LET temp = temp + a(i) 500 NEXT i 510 LET SUM = temp 520 END FUNCTION