Discovering Steiner Triple Systems through Problem Solving