How To Solve Pattern Problems