Eller's algorithm for generating random mazes is great. It is particularly clever in that the algorithm generates mazes row by row without storing the entire maze in memory. If your browser supports it you should see a maze and its solution below. I generate solutions for the mazes using Dijkstra's algorithm. I implemented both algorithms in Javascript. Reloading the page will generate a new maze.
The code is available in GitHub under an MIT license.