Hypertherm Associates interview question

Tell us how you would approach a difficult programming problem?