Solving the Liar problem