Procedure | Location | Procedure Type | Description |
---|---|---|---|
cli_solver | sudoku | Subroutine | Provides a solution for a puzzle passed by CLI: |
create_filled_grid | sudoku | Subroutine | Puzzle generators |
create_puzzle | sudoku | Subroutine | Creates a puzzle by brute force. But we are not 100% sure that the solution is unique (just a “high” probability). |
create_puzzle_with_unique_solution | sudoku | Subroutine | Creates a minimal puzzle. Digits are randomly removed one by one. The process ends when it is not possible anymore to remove a digit while keeping a unique solution. The number of remaining digits is therefore a priori unknown. |
display_grid | sudoku | Subroutine | Display a grid on the terminal. |
initialize_random_number_generator | sudoku | Subroutine | System independent initialization of pseudo-random generator |
is_full | sudoku | Function | Returns true if the grid is full. |
list_possible_digits | sudoku | Subroutine | Procedure to create a list of allowed digits in the present empty cell. |
read_grid | sudoku | Subroutine | Read a grid from a provided the path to a file |
request_grid | sudoku | Subroutine | |
save_grid | sudoku | Subroutine | Input/Output routines |
solve_puzzle | sudoku | Subroutine | Receives a puzzle grid and solves it. |
sort | sudoku | Subroutine | Solver routines |
valid_colum_or_row | sudoku | Function | Validation routines |
valid_digit | sudoku | Function | Returns true if the row, column and region of a digit are all valid: |
valid_grid | sudoku | Function | Check if the whole grid is valid. |
valid_zone | sudoku | Function | Validation of a zone/region. |