> I believe that for calculation by simple souls Easter is just the first > Sunday after the first full moon after the equinox of 21 March. But I > would like to find Easter several years ahead and do not know where to > find lunar phases except for the current year. Or is there a handy > table somewhere. There is one in the Oxford Companion to English > Literature, extending over hundreds of years but it ends at the year > 2000. Can anyone help, please? > -- > Frank Evans
Here is a C implementation of Meeus's Easter algorithm #include <stdio.h> #include <stdlib.h> /* Credit to Jean Meeus. */ main(int argc, char *argv[]) { int year, a, b, c, d, e, f, g, h, i, k, l, m, n, p; if ( argc != 2 ) { fprintf(stderr, "Usage: %s year\n", argv[0]); exit(1); } year = atoi(argv[1]); a = year % 19; b = year / 100; c = year % 100; d = b / 4; e = b % 4; f = (b + 8) / 25; g = (b - f + 1) / 3; h = (19 * a + b - d - g + 15) % 30; i = c / 4; k = c % 4; l = (32 + 2 * e + 2 * i -h -k) % 7; m = (a + 11 * h + 22 * l) / 451; n = (h + l - 7 * m + 114) / 31; p = (h + l - 7 * m + 114) % 31; printf("Easter %d is %s %d.\n", year, n == 3 ? "March" : "April", p + 1); }