How lpuigo/sudoku works
A small Go library for representing and solving Sudoku boards. The workflow is to create a board, derive legal candidates, apply solving strategies, and use recursive search when logical strategies stall. No README is present; the graph reflects the sampled implementation, so unsampled strategy details are omitted.
Main entry points: sudoku.go Sudoku board · option.go Option utilities · valueset.go Value sets
Components 9
Board and Rules
- Sudoku board
sudoku/sudoku.go - Rule checks
sudoku/sudoku.go - Candidate generation
sudoku/sudoku.go - Board formatting
sudoku/sudoku.go
Solving
- Solve and search
sudoku/sudoku.go - Logic strategies
sudoku/sudoku.go - Option utilities
sudoku/option.go - Value sets
sudoku/valueset.go
Other components
- Library caller
Connections 11
- Library caller → Sudoku board: creates
- Sudoku board → Rule checks: checks constraints
- Sudoku board → Board formatting: formats
- Solve and search → Candidate generation: gets candidates
- Candidate generation → Rule checks: tests values
- Candidate generation → Option utilities: builds options
- Solve and search → Logic strategies: applies strategies
- Solve and search → Sudoku board: branches on clone
- Logic strategies → Option utilities: filters options
- Logic strategies → Value sets: edits candidates
- Option utilities → Value sets: uses sets