sudoku 0.6.1

A sudoku solver library
Documentation

The Sudoku library

Overview

Sudoku is a library that aims to provide a simple API to solve sudokus without having to deal with too much details.

Example

use sudoku::Sudoku;

let sudoku_block =
"___|2__|_63
3__|__5|4_1
__1|__3|98_
---+---+---
___|___|_9_
___|538|___
_3_|___|___
---+---+---
_26|3__|5__
5_3|7__|__8
47_|__1|___";

let sudoku_line = "...2...633....54.1..1..398........9....538....3........263..5..5.37....847...1...";

// Sudokus can be created from &str's in both block or line formats or directly from bytes.
let sudoku = Sudoku::from_str_block_permissive(sudoku_block).unwrap();
let sudoku = Sudoku::from_str_line(sudoku_line).unwrap();
// Sudoku::from_bytes(some_bytes_arr);
// Sudoku::from_bytes_slice(some_slice);

// Solve, print or convert the sudoku to another format
if let Some(solution) = sudoku.solve_unique() {
    println!("{}", solution);
    println!("{}", solution.to_str_line());

    let cell_contents: [u8; 81] = solution.to_bytes();
}