Toda mi vida tuve curiosidad de cómo se calcula la fecha en que se celebrará semana santa. Hoy decidí averiguarlo y me di con la sorpresa que este tema fue polémica hace muchos años atrás. Incluso existe una palabra que se usa para el cómputo de la pascua (Computus).

La regla es como sigue, el Domingo de Pascua es el primer domingo después del día 14 del mes lunar (día de luna llena) que cae en o después del 21 de Marzo.

Ok ahora, ¿Cuándo es eso?

El año solar tiene 365 días más una pequeña fracción. El año lunar de 12 meses tiene 354 días, es decir que el periodo lunar dura en promedio 29,5 días. Luego el año solar dura 11 días más que el año lunar.

Luego de unas explicaciones teóricas que no vienen al caso se determina que cada 19 años se repiten los ciclos lunares con respecto al año solar. Y haciendo uso de este ciclo se determina un número dorado para cada año. ND = Año MOD 19 + 1 (El residuo de dividir el año entre 19, más 1). Luego usando una tabla se puede determinar el número de días de diferencia entre el año solar y el año lunar..... así continuas...

De buena suerte el gran Gauss creo un algoritmo para hallar este día mucho más facil :P.

a = Y mod 19
b = Y mod 4
c = Y mod 7

Luego se calcula:
d = (19a + M) mod 30
e = (2b + 4c + 6d + N) mod 7

Los valores de M y N se toman de la siguiente tabla

YearsMN
1583 - 1699222
1700 - 1799233
1800 - 1899234
1900 - 2099245
2100 - 2199246
2200 - 2299250

Finalmente si d + e < 10 Páscua será el (d + e + 22) de Marzo sino es el (d + e − 9) de Abril

Debe tomarse en cuenta dos excepciones:
Si la fecha resultante es el 26 de Abril, Páscua será el 19 de Abril.
Si la fecha resultante es 25 de Abril, con d = 28, e = 6, y a > 10, Páscua es el 18 de Abril.

He implementado el algoritmo en Javascript para que lo vean en acción :D. Además es útil.
Calculadora del Día de Pascua (Domingo de Resurección)