100 LET ROWS = 15 110 LET M$ = CHR$ (13) 120 LET N = ROWS: GOSUB 500"BELLTRIANGLE" 130 PRINT "FIRST FIFTEEN BELL NUMBERS:" 140 FOR I = 1 TO ROWS 150 LET BR = I:BC = 0: GOSUB 350"GETBELL" 160 HTAB T * 13 + 1 170 PRINT RIGHT$ (" " + STR$ (I),2)": "BV; MID$ (M$,1,T = 2); 180 LET T = T + 1 - (T = 2) * 3 190 NEXT I 200 PRINT M$"THE FIRST TEN ROWS OF BELL'S TRIANGLE:"; 210 FOR I = 1 TO 10 220 LET BR = I:BC = 0: GOSUB 350"GETBELL" 230 PRINT M$BV; 240 FOR J = 1 TO I - 1 250 IF I - 1 > = J THEN BR = I:BC = J: GOSUB 350"GETBELL": PRINT " "BV; 260 NEXT J,I 270 END 300 LET BI = BR * (BR - 1) / 2 + BC 310 RETURN 350 GOSUB 300"BELLINDEX" 360 LET BV = TRI(BI) 370 RETURN 400 GOSUB 300"BELLINDEX" 410 LET TRI(BI) = BV 420 RETURN 500 DIM TRI(N * (N + 1) / 2) 510 LET BR = 1:BC = 0:BV = 1: GOSUB 400"SETBELL" 520 FOR I = 2 TO N 530 LET BR = I - 1:BC = I - 2: GOSUB 350"GETBELL" 540 LET BR = I:BC = 0: GOSUB 400"SETBELL" 550 FOR J = 1 TO I - 1 560 LET BR = I:BC = J - 1: GOSUB 350"GETBELL":V = BV 570 LET BR = I - 1:BC = J - 1: GOSUB 350"GETBELL" 580 LET BR = I:BC = J:BV = V + BV: GOSUB 400"SETBELL" 590 NEXT J,I 600 RETURN