L'algoritmo, così come viene descritto di seguito, si trova nel sito di Claus Tondering Frequently asked questions about calendars, e si basa in parte sull'algoritmo di Oudin (1940), descritto in "Explanatory supplement to the astronomical almanac", a cura di P. Kenneth Seidelmann.
Nelle formule seguenti, * sta per il segno di moltiplicazione ed (r) significa il resto delle divisioni; di tutte le divisioni di cui non è richiesto il resto si considera la parte intera del risultato, tralasciando i decimali.
Le moltiplicazioni e le divisioni hanno ovviamente la precedenza rispetto alle addizioni e sottrazioni.
Chiamiamo N l'anno di cui vogliamo sapere il giorno di Pasqua.
Occorre ora eseguire i seguenti calcoli:
G = (r)(N:19)
Per il calendario giuliano:
I = (r)((19*G+15):30)
J = (r)((N+N:4+I):7)
Per il calendario gregoriano:
C = N:100
H = (r)((C-C:4-(8*C+13):25+19*G+15):30)
I = H-(H:28)*(1-(29:(H+1))*((21-G):11))
J = (r)((N+N:4+I+2-C+C:4):7)
E ora, sia per il calendario giuliano che per quello gregoriano, si prosegue in questo modo:
L = I-J
Mese di Pasqua: 3+(L+40):44 (dove 3 = marzo, 4 = aprile)
Giorno di Pasqua: L+28-31*(mese di Pasqua:4)
Il significato delle varie lettere è il seguente:
G = numero d'oro - 1
H = 23 - epatta (aggiungendo 30 se il risultato diventa negativo), uguale al numero di giorni dal 21 marzo al plenilunio pasquale, prima delle correzioni che tengano conto delle eccezioni che si verificano quando l'epatta è uguale a 24 o 25 (e H è uguale a 28 o 29)
I = numero di giorni dal 21 marzo al plenilunio pasquale, corretto però per tener conto delle eccezioni che si verificano quando l'epatta è uguale a 24 o 25 (e H è uguale a 28 o 29)
J = giorno della settimana del plenilunio pasquale (dove 0 = domenica, 1 = lunedì, ecc.)
L = numero di giorni dal 21 marzo alla domenica del plenilunio pasquale o precedente il plenilunio.