I got a Rubik's-Cube-like keychain puzzle in my Christmas stocking one year. I got tired of it being unsolved but at the same time I didn't feel like learning how to solve it, so one day I wrote a program to solve the puzzle. Here are the results.
Watch me solve it! QuickTime movie. (If you look closely, you can see me in the reflection in the monitor.)
As I said, I didn't care to learn how to solve the puzzle, so the program I wrote to do this is itself fairly naïve. It takes a brute force approach. Imagine if you could remember every configuration that you've had the puzzle in and which moves you've made from each. So you simply try every possible move from every possible configuration, starting from the puzzle's initial scrambled state, until you happen upon the solution. That's it.
I wrote a similar program for the Square 1 puzzle back in 1999, but I lost that program. I've still got the Square 1, so maybe I'll rewrite that one some day.