Sudoku C64
Basic
Actualizado el 24 de Enero del 2026 por Adelino (28 códigos) (Publicado el 23 de Octubre del 2019)
12.891 visualizaciones desde el 23 de Octubre del 2019
Programa para Commodore 64.



















100 DIM A(80), B(2), C(80), X(243)
110 DIM Y1(80), Y2(80), Y3(80)
120 FOR V = 0 TO 2130 FOR W = 0 TO 2140 READ A$
150 FOR N = 0 TO 2160 FOR M = 0 TO 2170 Y1(C) = 27 * V + 9 * W
180 Y2(C) = 27 * N + 9 * M + 81
190 Y3(C) = 27 * V + 9 * N + 162
200 A = ASC(MID$(A$, 3 * N + M + 1)) - 48
210 IF A = 0 GOTO 270220 A(C) = A
230 B(V) = B(V) + 1
240 X(Y1(C) + A) = 1
250 X(Y2(C) + A) = 1
260 X(Y3(C) + A) = 1
270 C = C + 1
280 NEXT M, N, W, V
290 FOR V = 0 TO 2300 N = 0310 FOR W = 0 TO 2320 IF B(W) > B(N) THEN N = W
330 NEXT
340 B(N) = -1
350 FOR C = 27 * N TO 27 * N + 26
360 IF A(C) = 0 THEN C(D) = C: D = D + 1
370 NEXT C, V400 C = C(B)
410 A = A(C)
420 IF A = 0 GOTO 470430 X(Y1(C) + A) = 0
440 X(Y2(C) + A) = 0
450 X(Y3(C) + A) = 0
460 IF A = 9 THEN A(C) = 0: GOTO 640
470 A = A + 1
480 IF X(Y1(C) + A) GOTO 460
490 IF X(Y2(C) + A) GOTO 460
500 IF X(Y3(C) + A) GOTO 460
510 X(Y1(C) + A) = 1
520 X(Y2(C) + A) = 1
530 X(Y3(C) + A) = 1
540 A(C) = A
550 B = B + 1
560 IF B < D GOTO 400570 Z = Z + 1
580 PRINT , , "**"; Z; "**"
590 FOR V = 0 TO 8600 PRINT CHR$(13),
610 FOR W = 0 TO 8620 PRINT A(9 * V + W);
630 NEXT W, V640 IF B THEN B = B - 1: GOTO 400
670 DATA 000076000
680 DATA 100038740
690 DATA 070000000
700 DATA 004060501
710 DATA 067000280
720 DATA 301040600
730 DATA 000000010
740 DATA 025610009
750 DATA 000980000
No hay comentarios