Tom Duff once said, "If your code is too slow, you must make it faster. If no better algorithm is available, you must trim cycles."
Once in awhile programmers find an interesting problem that they can't put down. This type of problem becomes a framework for exploring and learning new techniques and tools.
My problem was the eight letter problem; a problem where brute force necessarily plays a part in any solution. Normally we would shrug it off and stop there, resigning ourselves to the fact that there's simply no great solution. But it's algorithms all the way down. Just because the top level algorithm is unfortunately constrained doesn't mean those algorithms at the next level down must be.
Learn some of the tricks and techniques I discovered along the way, and then go find your own captivating problem.