[−][src]Function sudokugen::solver::solve
pub fn solve(board: &Board) -> Result<Board, UnsolvableError>
Helper function to solve a sudoku puzzle.
Given a reference to a board
, this function returns a new board
representing
a solution to that sudoku puzzle.
use sudokugen::solver::solve; use sudokugen::board::Board; let board: Board = ". . . | 4 . . | 8 7 . 4 . 3 | . . . | . . . 2 . . | . . 3 | . . 9 --------------------- . . 6 | 2 . . | . . 7 . . . | 9 . 6 | . . . 3 . 9 | . 8 . | . . . --------------------- . . . | . . . | . 4 . 8 7 2 | 5 . . | . . . . . . | 7 2 . | 6 . . " .parse() .unwrap(); assert_eq!( solve(&board).unwrap(), "695412873413879526287653419146235987728946135359187264561398742872564391934721658" .parse() .unwrap() );
If the puzzle has no possible solutions, this function returns UnsolvableError
.
let board = "123. ...4 .... ....".parse().unwrap(); assert!(matches!(solve(&board), Err(UnsolvableError)));