Skip to content

Commit bfa88ff

Browse files
committed
Create Sudoku-Solver.py
1 parent b51dea8 commit bfa88ff

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Sudoku-Solver.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
m=9
2+
def puzzle(a):
3+
for i in range(m):
4+
for j in range(m):
5+
print(a[i][j],end=' ')
6+
print()
7+
def solve(grid,row,col,num):
8+
for x in range(9):
9+
if grid[row][x]==num:
10+
return False
11+
for x in range(9):
12+
if grid[x][col]==num:
13+
return False
14+
start_row,start_col=row-row%3,col-col%3
15+
for i in range(3):
16+
for j in range(3):
17+
if grid[i+start_row][j+start_col]==num:
18+
return False
19+
return True
20+
def Sudoku(grid,row,col):
21+
if row==m-1 and col==m:
22+
return True
23+
if col==m:
24+
row,col=row+1,0
25+
if grid[row][col]>0:
26+
return Sudoku(grid,row,col+1)
27+
for n in range(1,m+1,1):
28+
if solve(grid,row,col,n):
29+
grid[row][col]=n
30+
if Sudoku(grid,row,col+1):
31+
return True
32+
grid[row][col]=0
33+
return False
34+
# Give zero for empty cells, put each row in list, put all rows in nested list
35+
grid=[[0,0,1,0,6,0,0,0,0],[0,0,0,0,0,0,2,3,8],[0,7,0,2,0,0,0,4,0],[7,0,0,0,0,6,0,0,0],[0,9,3,1,4,0,5,0,0],[0,8,0,0,5,0,0,0,4],[0,3,0,0,7,0,8,0,0],[0,6,5,4,1,0,0,0,2],[2,0,0,0,0,3,0,0,0]]
36+
if Sudoku(grid,0,0):
37+
puzzle(grid)
38+
else:
39+
print('No solution')

0 commit comments

Comments
 (0)