Problem Solving: Limits of computation