correct bug of movements
correct bug of solve_2x2
correct bug related with row0_invariant
refactor code
special case for testing row0_invariant
test cases for the final solver