java sat solver