Here is my Easter calculation code for the Gregorian calculator:

```
:Prompt Y
:int(Y/ᴇ2
:50-30fPart((11(1+19fPart(Y/19))-Ans+int(Ans/4)+int(8(Ans+11)/25))/30
:If Ans=50 or Ans=49 and 11≤19fPart(Y/19
:Ans-1
:round(Ans+7-7fPart((int(23(3+(Ans>31))/9)+Ans-31(Ans>31)+2+Y+int(Y/4)-int(Y/ᴇ2)+int(Y/400))/7),0
```

Afterwards,

`3+(Ans>31)`is the month it occurs in, and

`Ans-31(Ans>31)`is the day.

Explanation:

`:Prompt Y`

QED; we all know why this is here.

```
:int(Y/ᴇ2
:50-30fPart((11(1+19fPart(Y/19))-Ans+int(Ans/4)+int(8(Ans+11)/25))/30
:If Ans=50 or Ans=49 and 11≤19fPart(Y/19
:Ans-1
```

This is the implementation of the Paschal Full Moon algorithm, an approximation of the real full moon's occurrence around Passover. Here it is, for those of you too lazy to Google it:

The formula is(1)

except if the formula gives April 19, take April 18, and if the formula gives you April 18 and **G**≥12, take April 17.

Here is the value of **G**:

Here is the value of **C** (with **H**=`int(Y/100)`, and [H]=`int(H)`):

`:round(Ans+7-7fPart((int(23(3+(Ans>31))/9)+Ans-31(Ans>31)+2+Y+int(Y/4)-int(Y/ᴇ2)+int(Y/400))/7),0`

Easter Sunday is the first Sunday strictly after the Paschal full moon, so this is a modified version of my Day of Week routine to adjust the Paschal Full Moon date to Easter, the Sunday after.

^{1}

I think I should put this in as a routine (it's useful, and it only scratches over 200 bytes). What do you think?

```
:ClrHome:Disp "HOW DOES A","MATHEMATICIAN","LOSE WEIGHT?
:Pause "
:Pause "BINOMIALS!
:Pause "(BUY NO MEALS)":ClrHome
```