i searched for something like this a year ago. no algorithms found but i found an open source prayer time calculator written in c, called IslamicTimer. if you're good in c, maybe u can reverse engineer the source code to get the algorithm! i tried, but i'm no good in c.
download the IslamicTimer here: http://zlah.com/misc/downloads/ITIMER21.zip, 243KB
sorry for not being that much of a help, good luck!