rem
************************************
rem
************Tylor Noll**************
rem
**************SUDOKU****************
rem
**********Intermediate 5************
rem
************True BASIC**************
rem
***********Conrad Weiser************
rem
************************************
DIM
grid(9,9),num(9)
FOR
i=1 to 9
INPUT gridline$
FOR j=1 to 9
LET grid(i,j)=val(gridline$[j:j])
NEXT j
NEXT
i
FOR
i=1 to 9
LET num(i)=i
NEXT
i
DO
LET flag=0
FOR i=1 to 9
FOR j=1 to 9
IF grid(i,j)=0 then
LET count=0
FOR k=1 to 9
FOR l=1 to 9
IF num(l)=grid(k,j) then
LET num(l)=0
END IF
NEXT l
NEXT k
FOR k=1 to 9
FOR l=1 to 9
IF num(l)=grid(i,k) then
LET num(l)=0
END IF
NEXT l
NEXT k
IF i>6 then
LET temp=7
ELSE IF i>3 then
LET temp=4
ELSE
LET temp=1
END IF
IF j>6 then
LET temp2=7
ELSE IF j>3 then
LET temp2=4
ELSE
LET temp2=1
END IF
FOR k=temp to temp+2
FOR l=temp2 to temp2+2
FOR m=1 to 9
IF num(m)=grid(k, l)
and grid(k, l)<>0 then
IF grid(k,
l)<>grid(i,j) then
LET num(m)=0
END IF
END IF
NEXT m
NEXT l
NEXT k
FOR k=1 to 9
IF num(k)<>0 then
LET count=count+1
LET answer=k
END IF
NEXT k
IF count=1 then
LET grid(i,j)=num(answer)
ELSE
LET flag=1
END IF
FOR k=1 to 9
LET num(k)=k
NEXT k
END IF
NEXT j
NEXT i
IF flag=0 then EXIT DO
LOOP
FOR
i=1 to 5
INPUT x,y
PRINT grid(x,y)
PRINT
NEXT
i
END