10  REM  MAGIC, PROGRAMED BY ALEX ATHAS
20  REM         EDP RESOURCE CENTER, NOV. 1976
25  IF  ERROR  THEN 1195
30  DIM A$[11],A[121],B[11]
40  LET A$="ABCDEFGHIJK"
50  DEF FNR()=INT(*RND(TIM(0)))+1
60  PRINT " HI, DO YOU KNOW WHAT A MAGIC NUMBER IS";
70  INPUT C$[1,1]
80  PRINT 
90  IF C$="Y" THEN 220
100  PRINT "  A MAGIC NUMBER IS THE BASIS FOR A MAGIC SQUARE"
110  PRINT "LIKE THE ONE BELOW:"
120  PRINT '13'10'10" YOU GET A      3   3   3  =  9"
130  PRINT 
140  PRINT "TOTAL OF 9      3   3   3  =  9"
150  PRINT 
160  PRINT "IF YOU ADD      3   3   3  =  9"
170  PRINT TAB(14)"--- --- ---"
180  PRINT "ANY THREE       9   9   9"'13'10
190  PRINT "NUMBERS IN ANY"'13'10
200  PRINT "DIRECTION."'13'10
210  PRINT " THE MAGIC NUMBER IN THIS CASE IS 9."
220  PRINT '10"YOU CAN MAKE A MAGIC SQUARE"
230  PRINT "BASED ON ANY OF THE FOLLOWING NUMBERS:"
240  PRINT '10"   15        111        369"
250  PRINT "   34        175        505"
260  PRINT "   65        260        671"
270  PRINT '10"ENTER YOUR CHOICE";
280  INPUT M
290  LET Z1=Z2=0
300  LET X=3*(M=15)+4*(M=34)+5*(M=65)+6*(M=111)+7*(M=175)
310  IF X THEN 340
320  LET X=8*(M=260)+9*(M=369)+10*(M=505)+11*(M=671)
330  IF  NOT X THEN 220
340  PRINT '10"FOR EACH 'LETTER' IN THE MAGIC SQUARE,"
350  PRINT  USING 360;M
360  IMAGE "FILL IN THE NUMBER NEEDED TO EQUAL ",3D,"."
370  PRINT 
380  PRINT "THE COMPUTER WILL RESPOND WITH A 'C' IF THE ANSWER IS RIGHT,"
390  PRINT "'X' IF THE ANSWER IS WRONG OR 'T' FOR TIME OUT (4 MIN. LIMIT)"
400  PRINT '10'10
410  GOTO X-2 OF 430,450,470,490,510,530,550,570,590
420  GOTO 220
430  RESTORE 1220
440  GOTO 610
450  RESTORE 1270
460  GOTO 610
470  RESTORE 1360
480  GOTO 610
490  RESTORE 1410
500  GOTO 670
510  RESTORE 1450
520  GOTO 670
530  RESTORE 1500
540  GOTO 670
550  RESTORE 1570
560  GOTO 670
570  RESTORE 1650
580  GOTO 670
590  RESTORE 1730
600  GOTO 670
610  FOR I=1 TO FNR(71*(X=3)+120*(X=4)+27*(X=5))
620  READ B
630  NEXT I
640  IF  NOT B THEN 670
650  READ B
660  GOTO 640
670  MAT  READ A[X*X]
680  MAT B=ZER
690  FOR I=1 TO X
700  LET B[I]=FNR(X*X)
710  NEXT I
720  FOR I=1 TO X-1
730  FOR J=I+1 TO X
740  IF B[I]=B[J] THEN 690
750  NEXT J
760  NEXT I
770  LET J=1
780  PRINT "  ";
790  FOR I=J TO J+X-1
800  FOR K=1 TO X
810  IF I=B[K] THEN 900
820  NEXT K
830  PRINT  USING "#,2X,3D";A[I]
840  IF I=X*X THEN 920
850  NEXT I
860  PRINT  USING 870;M
870  IMAGE #,"  =  ",3D,"

"
880  LET J=J+X
890  GOTO 780
900  PRINT  USING "#,4X,A";A$[K,K]
910  GOTO 840
920  PRINT  USING 930;M
930  IMAGE #,"  =  ",3D,"
   "
940  FOR L=1 TO X
950  PRINT " --- ";
960  NEXT L
970  PRINT '13'10"  ";
980  FOR L=1 TO X
990  PRINT  USING "#,XX,3D";M
1000  NEXT L
1010  FOR I=1 TO X
1020  PRINT '13'10'10"   "A$[I,I]"  =  ?";
1030  ENTER 240,Z,A1
1040  IF Z>0 THEN 1080
1050  LET Z2=Z2+1
1060  PRINT "T"'13'10
1070  GOTO 1140
1080  IF A1=A[B[I]] THEN 1120
1090  LET Z2=Z2+1
1100  PRINT "X"'13'10
1110  GOTO 1140
1120  LET Z1=Z1+1
1130  PRINT "C"'13'10
1140  NEXT I
1150  PRINT  USING 1160;Z1,Z2
1160  IMAGE #,"

YOU GAVE ",DD," RIGHT AND ",DD," WRONG ANSWERS"
1170  PRINT '10"DO YOU WANT TO TRY ANOTHER MAGIC BOX";
1180  INPUT C$[1,1]
1190  IF C$="Y" THEN 220
1195  CHAIN R,"*HELP"
1200  SYSTEM X,"BYE"
1210  REM  [ MAGIC SQUARE IS 3 BY 3, MAGIC NUMBER= 15 ]
1220  DATA 0,8,1,6,3,5,7,4,9,2,0,4,3,8,9,5,1,2,7,6,0
1230  DATA 2,9,4,7,5,3,6,1,8,0,6,7,2,1,5,9,8,3,4,0
1240  DATA 4,9,2,3,5,7,8,1,6,0,2,7,6,9,5,1,4,3,8,0
1250  DATA 6,1,8,7,5,3,2,9,4,0,8,3,4,1,5,9,6,7,2
1260  REM  [ MAGIC SQUARE IS 4 BY 4, MAGIC NUMBER= 34 ]
1270  DATA 0,16,2,3,13,5,11,10,8,9,7,6,12,4,14,15,1,0
1280  DATA 4,9,5,16,14,7,11,2,15,6,10,3,1,12,8,13,0
1290  DATA 1,15,14,4,12,6,7,9,8,10,11,5,13,3,2,16,0
1300  DATA 13,8,12,1,3,10,6,15,2,11,7,14,16,5,9,4,0
1310  DATA 4,14,15,1,9,7,6,12,5,11,10,8,16,2,3,13,0
1320  DATA 1,12,8,13,15,6,10,3,14,7,11,2,4,9,5,16,0
1330  DATA 13,3,2,16,8,10,11,5,12,6,7,9,1,15,14,4,0
1340  DATA 16,5,9,4,2,11,7,14,3,10,6,15,13,8,12,1
1350  REM  [ MAGIC SQUARE IS 5 BY 5, MAGIC NUMBER = 65 ]
1360  DATA 0,17,24,1,8,15,23,5,7,14,16,4,6,13
1370  DATA 20,22,10,12,19,21,3,11,18,25,2,9
1380  DATA 0,11,10,4,23,17,18,12,6,5,24,25,19
1390  DATA 13,7,1,2,21,20,14,8,9,3,22,16,15
1400  REM  [ MAGIC SQUARE IS 6 BY 6, MAGIC NUMBER= 111 ]
1410  DATA 36,2,3,7,32,31,29,26,13,12,23,8
1420  DATA 27,25,20,21,18,10,9,19,16,17,22,28
1430  DATA 4,14,25,24,11,33,6,35,34,30,5,1
1440  REM  [ MAGIC SQUARE IS 7 BY 7, MAGIC NUMBER= 175 ]
1450  DATA 22,41,34,27,17,5,29,1,35,6,42,11,31,49
1460  DATA 38,10,24,4,47,40,12,37,18,48,25,2,32,13
1470  DATA 36,43,3,46,26,7,14,20,19,44,8,39,15,30
1480  DATA 21,9,16,23,33,45,28
1490  REM  [ MAGIC SQUARE IS 8 BY 8, MAGIC NUMBER= 260 ]
1500  DATA 61,3,10,6,52,14,58,56,63,50,16,17,21
1510  DATA 46,45,2,11,43,40,27,26,37,22,54
1520  DATA 57,41,29,34,35,32,24,8,53,23,33,30
1530  DATA 31,36,42,12,1,18,28,39,38,25,47,64
1540  DATA 5,20,49,48,44,19,15,60,9,62,55,59
1550  DATA 13,51,7,4
1560  REM  [ MAGIC SQUARE IS 9 BY 9, MAGIC NUMBER= 369 ]
1570  DATA 47,58,69,80,1,12,23,34,45,57,68
1580  DATA 79,9,11,22,33,44,46,67,78,8,10,21
1590  DATA 32,43,54,56,77,7,18,20,31,42,53
1600  DATA 55,66,6,17,19,30,41,52,63,65,76
1610  DATA 16,27,29,40,51,62,64,75,5,26,28
1620  DATA 39,50,61,72,74,4,15,36,38,49,60
1630  DATA 71,73,3,14,25,37,48,59,70,81,2,13,24,35
1640  REM  [ MAGIC SQUARE IS 10 BY 10, MAGIC NUMBER= 505 ]
1650  DATA 85,18,1,14,97,60,68,26,64,72,11,99,7,20,78,61
1660  DATA 74,57,70,28,92,5,13,96,9,42,55,63,71,59,98,6
1670  DATA 94,2,15,73,31,69,52,65,4,12,25,83,91,54
1680  DATA 37,75,58,66,79,87,100,8,16,29,62,50
1690  DATA 33,41,23,81,19,77,90,48,56,44,27,40,17,80
1700  DATA 88,21,84,67,30,38,46,34,86,24,82,95,3,36
1710  DATA 49,32,45,53,10,93,76,89,22,35,43,51,39,47
1720  REM  [ MAGIC SQUARE IS 11 BY 11, MAGIC NUMBER= 671 ]
1730  DATA 68,81,94,107,120,1,14,27,40,53,66
1740  DATA 80,93,106,119,11,13,26,39,52,65,67
1750  DATA 92,105,118,10,12,25,38,51,64,77,79
1760  DATA 104,117,9,22,24,37,50,63,76,78,91
1770  DATA 116,8,21,23,36,49,62,75,88,90,103
1780  DATA 7,20,33,35,48,61,74,87,89,102,115
1790  DATA 19,32,34,47,60,73,86,99,101,114,6
1800  DATA 31,44,46,59,72,85,98,100,113,5,18
1810  DATA 43,45,58,71,84,97,110,112,4,17,30
1820  DATA 55,57,70,83,96,109,111,3,16,29,42
1830  DATA 56,69,82,95,108,121,2,15,28,41,54
1840  REMBRANDT!
1850  END 
