Hi Rick,
While browsing your ”corner”, the “Do you know when Easter is this year?” post (page 3) caught my attention. Back in the nineties I was “playing” with a “perpetual” calendar, first in Lotus Symphony and then in Excel. I wanted to highlight the day of Easter and I found the Gauss algorithm on the Internet which was, I remember, exactly the same as the one you used in your post. You preserved the original but I found it quite lengthy and noticed that many variables were only used once. So, I integrated the code of these variables directly where they were used. I also noticed that the two penultimate lines of code (n and p) are identical except for the last operation ( \ 31 and Mod 31). So, I moved these to the final code line, where they are referenced, and kept only one line of those two. Here is my very compacted version:

Code:
Function Easter(Y As Integer) As Date
Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer
   a = Y Mod 19
   b = Y \ 100
   c = Y Mod 100
   d = (19 * a + b - b \ 4 - (b - (b + 8) \ 25 + 1) \ 3 + 15) Mod 30
   e = (32 + 2 * (b Mod 4) + 2 * (c \ 4) - d - (c Mod 4)) Mod 7
   e = d + e - 7 * ((a + 11 * d + 22 * e) \ 451) + 114
   Easter = DateSerial(Y, e \ 31, e Mod 31 + 1)
End Function
When this version is compared with the original code, it’s hard to believe that they are if fact the same algorithm.

I neglected the minimum 1900 restriction of Excel and the 1900/1904 option. In 1999 I decided to add a “perpetual calendar” to my website (www.wv-be.com/Kalender.asp). Being an .asp page, the code of the Easter function could be used as is but now, being pure vb script, it could be used, without the Excel restrictions, from 1583 till 9998. I tested both versions for that range and found that the results were identical.