A problem generator that takes an input as a math problem, analyzes the
math problem, and intelligently spawns similar example problem types. The
output is a set of math problems based on the conditions set during
analysis and customization. For example, if the original problem deals
with linear equations, this will be detected during analysis and used to
spawn other linear equations as problems. Moreover, if the answer to the
original problem is in integer format, so will the answers to the spawned
problems. A customizable UI is designed to allow further customization of
problem conditions to generate an accurate set of problems based on the
initial input. Problem generator templates can be created, shared and
modified for distribution and/or future use. Additionally, problem
generation APIs can be extended for external code to automate and consume
generated math problems.