Data-Driven Problem Solving