Patterns and the many paths of problem solving