Listing 1: Creating and Populating the SudokuInput Table SET NOCOUNT ON; USE tempdb; GO IF OBJECT_ID('SudokuInput') IS NOT NULL DROP TABLE SudokuInput; GO CREATE TABLE SudokuInput ( row INT NOT NULL, col INT NOT NULL, val INT NOT NULL, PRIMARY KEY(row, col), UNIQUE(row, val), UNIQUE(col, val) ); INSERT INTO SudokuInput(row, col, val) VALUES(1, 2, 6); INSERT INTO SudokuInput(row, col, val) VALUES(1, 4, 1); INSERT INTO SudokuInput(row, col, val) VALUES(1, 6, 4); INSERT INTO SudokuInput(row, col, val) VALUES(1, 8, 5); INSERT INTO SudokuInput(row, col, val) VALUES(2, 3, 8); INSERT INTO SudokuInput(row, col, val) VALUES(2, 4, 3); INSERT INTO SudokuInput(row, col, val) VALUES(2, 6, 5); INSERT INTO SudokuInput(row, col, val) VALUES(2, 7, 6); INSERT INTO SudokuInput(row, col, val) VALUES(3, 1, 2); INSERT INTO SudokuInput(row, col, val) VALUES(3, 9, 1); INSERT INTO SudokuInput(row, col, val) VALUES(4, 1, 8); INSERT INTO SudokuInput(row, col, val) VALUES(4, 4, 4); INSERT INTO SudokuInput(row, col, val) VALUES(4, 6, 7); INSERT INTO SudokuInput(row, col, val) VALUES(4, 9, 6); INSERT INTO SudokuInput(row, col, val) VALUES(5, 3, 6); INSERT INTO SudokuInput(row, col, val) VALUES(5, 7, 3); INSERT INTO SudokuInput(row, col, val) VALUES(6, 1, 7); INSERT INTO SudokuInput(row, col, val) VALUES(6, 4, 9); INSERT INTO SudokuInput(row, col, val) VALUES(6, 6, 1); INSERT INTO SudokuInput(row, col, val) VALUES(6, 9, 4); INSERT INTO SudokuInput(row, col, val) VALUES(7, 1, 5); INSERT INTO SudokuInput(row, col, val) VALUES(7, 9, 2); INSERT INTO SudokuInput(row, col, val) VALUES(8, 3, 7); INSERT INTO SudokuInput(row, col, val) VALUES(8, 4, 2); INSERT INTO SudokuInput(row, col, val) VALUES(8, 6, 6); INSERT INTO SudokuInput(row, col, val) VALUES(8, 7, 9); INSERT INTO SudokuInput(row, col, val) VALUES(9, 2, 4); INSERT INTO SudokuInput(row, col, val) VALUES(9, 4, 5); INSERT INTO SudokuInput(row, col, val) VALUES(9, 6, 8); INSERT INTO SudokuInput(row, col, val) VALUES(9, 8, 7);