This program generates what are known as perfect mazes, meaning mazes that have one solution only. The mazes are generated using the Recursive Backtracker algorithm, and the solution is drawn. You can configure the size of the maze to your liking. This program is actually very simple to replicate, and it's something that I did in a few hours because I felt like learning about maze generation. The algorithm itself is quite simple and intuitive once you understand how it works. There are different types of maze generating algorithms, but I chose this one because it is one of the simplest ones. Mazes generated with the recursive backtracker algorithm tend to have a low branching factor, which essentially means that there are not a lot of branches in the mazes, making the mazes somewhat easier to solve.
You can try it out here.
A demonstration of the maze generator