https://github.com/dolph/sudoku
Experimenting with sudoku
https://github.com/dolph/sudoku
Last synced: about 1 year ago
JSON representation
Experimenting with sudoku
- Host: GitHub
- URL: https://github.com/dolph/sudoku
- Owner: dolph
- Created: 2020-02-19T04:40:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-04T22:40:13.000Z (over 2 years ago)
- Last Synced: 2025-02-10T01:41:23.787Z (over 1 year ago)
- Language: Go
- Size: 9.77 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sudoku
Renders a Sudoku board by representing the viable choices for any given square.
For example, this is the equivalent of a "blank" Sudoku board:
```bash
┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃ 1 2 3 │ 1 2 3 │ 1 2 3 ┃
┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃ 4 5 6 │ 4 5 6 │ 4 5 6 ┃
┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃ 7 8 9 │ 7 8 9 │ 7 8 9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛
```
A puzzle might look like this:
```bash
┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃ 3 │ 3 │ ┃ 2 │ │ ┃ │ │ 1 ┃
┃ 4 5 │ │ 5 ┃ │ 6 │ 5 ┃ │ │ ┃
┃ │ │ ┃ │ │ 9 ┃ 7 │ 8 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 2 ┃ │ │ 1 ┃ 2 3 │ │ 2 3 ┃
┃ 6 │ │ 5 ┃ 5 │ │ 5 ┃ 4 │ │ ┃
┃ │ 8 │ ┃ │ 7 │ ┃ │ 9 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 │ │ 2 ┃ │ 3 │ ┃ │ │ 2 3 ┃
┃ │ │ ┃ │ │ 4 ┃ 5 │ 6 │ ┃
┃ │ 9 │ 7 ┃ 8 │ 8 │ ┃ │ 8 │ ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ │ 2 │ ┃ 1 │ │ ┃ 3 │ │ 3 ┃
┃ │ │ 6 ┃ │ │ 5 ┃ 6 │ 4 │ 5 ┃
┃ 8 │ │ 7 ┃ │ 9 │ 7 9 ┃ │ │ 7 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 3 │ 1 3 │ ┃ │ │ 2 ┃ │ 1 │ 3 ┃
┃ │ │ 4 ┃ 6 │ │ ┃ │ 5 │ 5 ┃
┃ │ 7 │ ┃ │ 8 │ ┃ 9 │ │ 7 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 1 ┃ │ │ 3 ┃ 1 │ 2 │ ┃
┃ │ 5 │ 6 ┃ 4 │ 4 │ ┃ 6 │ │ ┃
┃ 9 │ │ 7 ┃ 7 9 │ 9 │ ┃ │ │ 8 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ 2 │ 1 │ ┃ 3 │ 2 │ ┃ 1 2 │ │ ┃
┃ 5 │ 6 │ ┃ │ │ 6 ┃ │ │ 4 ┃
┃ │ │ 9 ┃ │ │ ┃ 8 │ 7 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 2 │ │ 1 2 ┃ │ │ ┃ 1 2 │ 3 │ ┃
┃ │ 4 │ ┃ │ 5 │ ┃ │ │ 6 ┃
┃ │ │ 8 ┃ 7 9 │ │ 7 9 ┃ 8 │ │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 3 ┃ │ 1 │ ┃ 2 │ │ 2 ┃
┃ │ 6 │ ┃ 4 │ │ ┃ │ 5 │ 5 ┃
┃ 7 │ │ ┃ 9 │ │ 8 ┃ │ │ 9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛
```
And when fully solved:
```bash
┏━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┳━━━━━━━┯━━━━━━━┯━━━━━━━┓
┃ │ 3 │ ┃ 2 │ │ ┃ │ │ 1 ┃
┃ 4 │ │ 5 ┃ │ 6 │ ┃ │ │ ┃
┃ │ │ ┃ │ │ 9 ┃ 7 │ 8 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 2 ┃ │ │ 1 ┃ │ │ 3 ┃
┃ 6 │ │ ┃ 5 │ │ ┃ 4 │ │ ┃
┃ │ 8 │ ┃ │ 7 │ ┃ │ 9 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 1 │ │ ┃ │ 3 │ ┃ │ │ 2 ┃
┃ │ │ ┃ │ │ 4 ┃ 5 │ 6 │ ┃
┃ │ 9 │ 7 ┃ 8 │ │ ┃ │ │ ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ │ 2 │ ┃ 1 │ │ ┃ 3 │ │ ┃
┃ │ │ 6 ┃ │ │ 5 ┃ │ 4 │ ┃
┃ 8 │ │ ┃ │ 9 │ ┃ │ │ 7 ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 3 │ │ ┃ │ │ 2 ┃ │ 1 │ ┃
┃ │ │ 4 ┃ 6 │ │ ┃ │ │ 5 ┃
┃ │ 7 │ ┃ │ 8 │ ┃ 9 │ │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 1 ┃ │ │ 3 ┃ │ 2 │ ┃
┃ │ 5 │ ┃ │ 4 │ ┃ 6 │ │ ┃
┃ 9 │ │ ┃ 7 │ │ ┃ │ │ 8 ┃
┣━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━╋━━━━━━━┿━━━━━━━┿━━━━━━━┫
┃ │ 1 │ ┃ 3 │ 2 │ ┃ │ │ ┃
┃ 5 │ │ ┃ │ │ 6 ┃ │ │ 4 ┃
┃ │ │ 9 ┃ │ │ ┃ 8 │ 7 │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ 2 │ │ ┃ │ │ ┃ 1 │ 3 │ ┃
┃ │ 4 │ ┃ │ 5 │ ┃ │ │ 6 ┃
┃ │ │ 8 ┃ 9 │ │ 7 ┃ │ │ ┃
┠───────┼───────┼───────╂───────┼───────┼───────╂───────┼───────┼───────┨
┃ │ │ 3 ┃ │ 1 │ ┃ 2 │ │ ┃
┃ │ 6 │ ┃ 4 │ │ ┃ │ 5 │ ┃
┃ 7 │ │ ┃ │ │ 8 ┃ │ │ 9 ┃
┗━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┻━━━━━━━┷━━━━━━━┷━━━━━━━┛
```