Evolving Programs to Solve Problems