/sudoku

a sudoku solver using different CSP methods

Primary LanguageC++

# sudoku
a sudoku solver using different CSP methods
1. naive backtrack
2. forward checking with minimum remaining value heurstic

Example:
Input:
______________________________________________________
|__0__|__8__|__0__|__9__|__0__|__0__|__0__|__2__|__0__|
|__9__|__0__|__0__|__0__|__6__|__0__|__0__|__0__|__8__|
|__0__|__4__|__6__|__0__|__0__|__2__|__1__|__9__|__0__|
|__0__|__0__|__5__|__0__|__1__|__0__|__0__|__0__|__3__|
|__0__|__7__|__0__|__2__|__0__|__8__|__0__|__6__|__0__|
|__6__|__0__|__0__|__0__|__4__|__0__|__7__|__0__|__0__|
|__0__|__3__|__4__|__7__|__0__|__0__|__9__|__5__|__0__|
|__7__|__0__|__0__|__0__|__8__|__0__|__0__|__0__|__2__|
|__0__|__6__|__0__|__0__|__0__|__4__|__0__|__3__|__0__|

Solved!
1718 nodes expanded
______________________________________________________
|__5__|__8__|__7__|__9__|__3__|__1__|__4__|__2__|__6__|
|__9__|__1__|__2__|__4__|__6__|__5__|__3__|__7__|__8__|
|__3__|__4__|__6__|__8__|__7__|__2__|__1__|__9__|__5__|
|__4__|__9__|__5__|__6__|__1__|__7__|__2__|__8__|__3__|
|__1__|__7__|__3__|__2__|__9__|__8__|__5__|__6__|__4__|
|__6__|__2__|__8__|__5__|__4__|__3__|__7__|__1__|__9__|
|__8__|__3__|__4__|__7__|__2__|__6__|__9__|__5__|__1__|
|__7__|__5__|__1__|__3__|__8__|__9__|__6__|__4__|__2__|
|__2__|__6__|__9__|__1__|__5__|__4__|__8__|__3__|__7__|