The geometrical requirement for observing first or fourth contact at solar eclipses is that the observer shall be located somewhere on the curved boundary of the Moon’s penumbra. Second and third contact, in contrast, occur when the observer is at the boundary of the umbral shadow.
EclTimer program receives date of new Moon (year, month, day, hour), geographical longitude and latitude of the observer in [rad], then returns possibility of observing solar eclipse at the observer's location.
For computation of time of new Moon, you can use "Phases" program from
O. Montenbruck, T. Pfleger, "Astronomy on the Personal Computer", Springer Verlag, Heidelberg, 2000