find a solution with great patience