The date on which Easter Sunday falls was decided, by the Council of Nicaea in 325 AD, to be the first full Sunday after the first full moon after the Vernal Equinox. This is very easy to work out with a lunar calendar or if you have data about the lunar cycles and the equinoxes, but what if you just were given the year. How would you work out what date it was on? Well, it turns out that there isn’t a very simple formula which can tell you this, but there is a rather complicated formula. This was presented to the journal Nature in 1876, though I haven’t been able to track down the author of this particular formula. So, this is how you calculate the date of Easter Sunday:


  1. Take the year (in the Gregorian calendar) and divide it by 19. This will give you a quotient and a remainder. Call the remainder a.
  2. Take the year and divide it by 100. Call the quotient b and the remainder c.
  3. Divide b by 4. Call the quotient d and the remainder e.
  4. Divide b+8 by 25. Call the quotient f.
  5. Divide bf + 1 by 3. Call the quotient g.
  6. Divide 19a + bdg + 15 by 30. Call the remainder h.
  7. Divide c by 4. Call the quotient i and the remainder k
  8. Divide 32 + 2e + 2ihk by 7. Call the remainder l.
  9. Divide a + 11h + 22l by 451. Call the quotient m.
  10. Divide h + l – 7m + 114 by 31. Call the quotient n and the remainder o.


Easter will then fall on the n^{th} month and on the (o+1)^{th} day.


This seems rather horrendously complicated, but apparently it is a perpetual way of calculating the date of Easter Sunday.


A challenge for you: What is the shortest piece of computer code you can write which calculates the date of Easter based on the above algorithm? Paste your answers in the comments section.

How clear is this post?