This simple project allows you to enter a sudoku, and then solves it for you. *** How to play sudoku: You must fill in each square with a number from 1-9 so that each row, column, and 3x3 square has all 9 digits, and none repeating. *** How to use this: You can click to load the example, or enter the game manually. To enter it manually, click clear to clear the game, and then click add, choose the square you want to add a number to, and then choose the number to add. Use delete to get rid of a number. *** How it works: It continually goes through 'passes' of the board - Each time, it looks at each cell one by one, and if it doesn't have a number in it and there is only one number that could be in it (based on the other numbers in its row, column, and 3x3 square) then it is set to that number. The board is then gone over again, to get any new numbers that the ones from the previous pass yielded. Eventually it will make a pass where it does not make any changes, and this is when it knows to stop. The status text at the bottom tells you what pass it is on, and the X2 and Y2 variables tell you which cell it is looking at. The array of boolean values is where it determines whether there is only one possible value, and if so what it is. It uses a 'pseudostack' sort of thing to emulate procedures. To 'call' one, variables corresponding to the arguments are set, then the 'name' is broadcast, and in the broadcast a return variable is set. Crude, but way better than linear code. *** Note: If you download it, and set the block speed to turbo, it runs WAY faster.