implement solver by java, change algorithm
Make unit tests a different project
Log final configuration of the board.
Add one test case.
Add arguments for Main, fix coding style.