-
Notifications
You must be signed in to change notification settings - Fork 1
/
Sudoku9x9_DummyVersion.pl
53 lines (51 loc) · 2.11 KB
/
Sudoku9x9_DummyVersion.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
sudoku(Grid, Result) :-
Result = Grid,
Grid = [A1, A2, A3, A4, A5, A6, A7, A8, A9,
B1, B2, B3, B4, B5, B6, B7, B8, B9,
C1, C2, C3, C4, C5, C6, C7, C8, C9,
D1, D2, D3, D4, D5, D6, D7, D8, D9,
E1, E2, E3, E4, E5, E6, E7, E8, E9,
F1, F2, F3, F4, F5, F6, F7, F8, F9,
G1, G2, G3, G4, G5, G6, G7, G8, G9,
H1, H2, H3, H4, H5, H6, H7, H8, H9,
I1, I2, I3, I4, I5, I6, I7, I8, I9],
Numbers = [1,2,3,4,5,6,7,8,9],
%Rows
permutation([A1,A2,A3,A4,A5,A6,A7,A8,A9],Numbers),
permutation([B1,B2,B3,B4,B5,B6,B7,B8,B9],Numbers),
permutation([C1,C2,C3,C4,C5,C6,C7,C8,C9],Numbers),
permutation([D1,D2,D3,D4,D5,D6,D7,D8,D9],Numbers),
permutation([E1,E2,E3,E4,E5,E6,E7,E8,E9],Numbers),
permutation([F1,F2,F3,F4,F5,F6,F7,F8,F9],Numbers),
permutation([G1,G2,G3,G4,G5,G6,G7,G8,G9],Numbers),
permutation([H1,H2,H3,H4,H5,H6,H7,H8,H9],Numbers),
permutation([I1,I2,I3,I4,I5,I6,I7,I8,I9],Numbers),
%Columns
permutation([A1,B1,C1,D1,E1,F1,G1,H1,I1],Numbers),
permutation([A2,B2,C2,D2,E2,F2,G2,H2,I2],Numbers),
permutation([A3,B3,C3,D3,E3,F3,G3,H3,I3],Numbers),
permutation([A4,B4,C4,D4,E4,F4,G4,H4,I4],Numbers),
permutation([A5,B5,C5,D5,E5,F5,G5,H5,I5],Numbers),
permutation([A6,B6,C6,D6,E6,F6,G6,H6,I6],Numbers),
permutation([A7,B7,C7,D7,E7,F7,G7,H7,I7],Numbers),
permutation([A8,B8,C8,D8,E8,F8,G8,H8,I8],Numbers),
permutation([A9,B9,C9,D9,E9,F9,G9,H9,I9],Numbers),
%Squares
permutation([A1,A2,A3,B1,B2,B3,C1,C2,C3],Numbers),
permutation([A4,A5,A6,B4,B5,B6,C4,C5,C6],Numbers),
permutation([A7,A8,A9,B7,B8,B9,C7,C8,C9],Numbers),
permutation([D1,D2,D3,E1,E2,E3,F1,F2,F3],Numbers),
permutation([D4,D5,D6,E4,E5,E6,F4,F5,F6],Numbers),
permutation([D7,D8,D9,E7,E8,E9,F7,F8,F9],Numbers),
permutation([G1,G2,G3,H1,H2,H3,I1,I2,I3],Numbers),
permutation([G4,G5,G6,H4,H5,H6,I4,I5,I6],Numbers),
permutation([G7,G8,G9,H7,H8,H9,I7,I8,I9],Numbers).
?- sudoku([_, _, _, 1, 5, _, _, 7, _,
1, _, 6, _, _, _, 8, 2, _,
3, _, _, 8, 6, _, _, 4, _,
9, _, _, 4, _, _, 5, 6, 7,
_, _, 4, 7, _, 8, 3, _, _,
7, 3, 2, _, _, 6, _, _, 4,
_, 4, _, _, 8, 1, _, _, 9,
_, 1, 7, _, _, _, 2, _, 8,
_, 5, _, _, 3, 7, _, _, _], Result)