Hartismere School

Est. 1451. An outstanding coeducational secondary school & sixth form college and England's first academy

Home Login

Computerphile Sudoku Python

grid = [
       [ 5, 0, 0, 1, 0, 0, 7, 0, 0 ],
       [ 0, 2, 0, 0, 0, 7, 1, 0, 0 ],
       [ 3, 0, 1, 4, 0, 0, 8, 5, 2 ],
       [ 6, 1, 0, 5, 7, 2, 4, 0, 8 ],
       [ 0, 0, 2, 9, 6, 0, 0, 0, 0 ],
       [ 0, 4, 0, 0, 3, 0, 6, 2, 7 ],
       [ 4, 5, 9, 0, 8, 0, 0, 7, 0 ],
       [ 1, 3, 0, 0, 0, 0, 9, 8, 6 ],
       [ 2, 0, 0, 0, 1, 0, 0, 4, 3 ]
   ]
   
def possible(y,x,n):
   for i in range(0,9):
       if grid[y][i] == n:
           return False
   for i in range(0,9):
       if grid[i][x] == n:
           return False
   x0 = (x//3)*3
   y0 = (y//3)*3
   for i in range(0,3):
       for j in range(0,3):
           if grid[y0+i][x0+j] == n:
               return False
   return True
   
def solve():
   print("solving")
   for y in range(9):
       for x in range(9):
           if grid[y][x] == 0:
               for n in range(1,10):
                   if possible(y,x,n):
                       grid[y][x] = n
                       solve()
                       grid[y][x] = 0
               return
   printGrid()
   input()
   
def printGrid() : 
   for n in range(0,9):
       print(grid[n])
       
solve()

Documents

Explore...

Programming

Meshes of the Afternoon - Maya Deren (1943)

Hartismere: Online since 1997!

Toyota Virtual Plant Tour

Binary addition 2

MegaProcessor - the largest CPU in the world

CERN - The globe

Hartismere Website :: A History :: 2016

Avatar Maker

Computer Science

New...

Parents Evening :: Year 10

Hartismere Technical Theatre

In the news: PHP Vulnerability

Parents Evening :: Year 12

Autumn Term 2 Sports Clubs

December 2026 Mock Examinations

SENDCo

Vacancies

Discover...

Python Programming Computerphile Videos Computer Science Test C# Recipes Php CPU Do The Right Thing Year 7 Computing Microbit College LMC Form Activity Crashcourse Theory Science Sports Clubs Belong Calendar

Uh-oh - we were unable to load our website on your browser so we're showing you a plain HTML version.

We use many features found in modern browsers and regrettably yours seems incompatible.

However this legacy version contains (very, very nearly) all the same content. Each page is rendered on our server and doesn't rely on any browser features except the odd font. It doesn't even need Javascript or fancy CSS. It's like being in 1995!

Your browser is reporting itself to us as Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com). Please consider updating your browser to make the most of our website.

If you would like to try our proper website again - you can do so here...