satSolver