If you think of a maze as a graph, where the the open intersections of the maze are a vertex, and each corridor is an edge connecting two verticies, then you are looking for the path that connects the vertex at the maze entrance vertex and the maze exit vertex.

Most search functions are recursive, so you may want to look at older pathfinder or depth first searches in Fortran 77, since that language didn't support recursion. I would write it out in pseudo code so you can see what you need the algorithm to do. You need to begin by loading the maze into a data structure. I think some kind of connection table would be best, but it's hard to know without seeing the form the maze is currently in. After you have a data structure for the possible paths, then you can start to look at the best way to navigate.

LMHmedchem