Skip to main content

Mathemagics

Doomsday rule

The Doomsday rule is an algorithm devised by John Conway to quickly calculate the weekday of any date in history. The algorithm works on the following principle:

There is a set of dates (called doomsdays), that for any year, fall on the same weekday (called the anchor day of the year).

Using the anchor, we can find out the weekday for any date using simple arithmetic.

The doomsdays we need to remember in order to use the algorithm are:

MM/DDFull dateMnemonic
1/3 (1/4 for leap years)Jan 3 / Jan 4-
2/28 (2/29 for leap years)Feb 28 / Feb 29-
3/14Mar 14Pi day
4/4, 6/6, 8/8, 10/10, 12/12April 4, Jun 6, Aug 8, Oct 10, Dec 12Even months except Feb
5/9, 9/5, 7/11, 11/7May 9, Sept 5, Jul 11, Nov 79-to-5 at 7-11

Other memorable doomsdays are Jul 4 (Independence day), Oct 31 (Halloween) and Dec 26 (Boxing day).

In total, there are 52 doomsdays in a year. In leap years, the doomsdays in the month of January and February are shifted by one day. However, the total remains the same.

The algorithm involves the following steps.

  1. Find the anchor day for the century (required for step 2).
  2. Find the anchor day for the year. All doomsdays fall on this anchor day.
  3. Count forward/backward from the nearest doomsday to the specified date.

For calculations, we assign an index for each weekday. Starting from Monday (1) to Sunday (7), the index equals rankmod7rank\mod 7.

DayIndexMnemonic
Monday1One-day
Tuesday2Twos-day
Wednesday3Threes-day
Thursday4Fours-day
Friday5Five-day
Saturday6Sixtur-day
Sunday0None-day
Example

Jul 27, 1987

  1. Anchor day for the century (1900s) = 3 (Wednesday)

  2. Anchor day for the year (1987) = 6 (Saturday)

  3. Nearest doomsday to Jul 27 is Jul 11 = Saturday (from step 2).

    July 25 = July 11+7+7 = Saturday

    July 27 = Monday.

Finding the anchor day for the century

Given a year yy,

Let cc = the first 2 digits of the year (or y100\left\lfloor\frac{y}{100}\right\rfloor)

Method 1

Anchor = 5×(cmod4)mod75\times(c\mod 4)\mod 7 + Tuesday

Method 2

Value of cmod4c\mod 4Anchor
0Tuesday
1Sunday
2Friday
3Wednesday
Example:

1700-1799

17mod4=1    17\mod 4 = 1 \implies Sunday

Or

5×(17mod4)mod75\times(17\mod 4)\mod 7 + Tuesday = 55 + Tuesday = Sunday

The following table lists the anchor days for 1500s to 2600s:

CenturyAnchor day (Index)
1500s, 1900s, 2300sWednesday (3)
1600s, 2000s, 2400sTuesday (2)
1700s, 2100s, 2500sSunday (0)
1800s, 2200s, 2600sFriday (5)

Mnemonics for recent centuries:

  • 1900s: We-in-dis-day (most living people were born in that century)
  • 2000s: Twos-day or Y-Tue-K

Finding the anchor day for the year

Given a year XXYYXXYY,

Method 1

Let aa = Anchor day of the century

b=YY12b = \left\lfloor\frac{YY}{12}\right\rfloor

c=YYmod12c = YY\mod 12

d=c4d = \left\lfloor\frac{c}{4}\right\rfloor

Anchor day of the year = (a+b+c+d)mod7(a+b+c+d)\mod 7

Method 2

Anchor = (YY+YY4)mod7\left(YY+\left\lfloor\frac{YY}{4}\right\rfloor\right)\mod 7

Method 3: The "odd+11" method

  1. Let t=YYt = YY
  2. If tt is odd, add 1111.
  3. t=t2t = \frac{t}{2}
  4. If tt is odd, add 1111.
  5. t=7(tmod7)t = 7-(t\mod 7)
  6. Count forward tt days from the century's anchor day to get the year's anchor day.
note

Each common year advances the anchor day by one day. Each leap year advances it by two days.

Example

1987

a=3a = 3

b=8712=7b = \left\lfloor\frac{87}{12}\right\rfloor = 7

c=87mod12=3c = 87\mod 12 = 3

d=34=0d = \left\lfloor\frac{3}{4}\right\rfloor = 0

Anchor = (3+7+3+0)mod7=13mod7=6(3+7+3+0)\mod 7 = 13\mod 7 = 6 (Saturday)

It can be useful to use your index, middle, and ring fingers and the pinkie to store the values for aa, bb, cc, and dd respectively during mental calculations.

Or using "odd+11" method:

8787 -> 9898 -> 4949 -> 6060 -> 7(60mod7)7-(60\mod 7) = 747-4 = 33 -> Wednesday + 3 = Saturday

Magic squares

To create a 4x4 magic square that adds upto p, let c = p - 33 and then replace the value of c in the following square:

14c127
11813c+1
510c+216
c+31569

Rapid cube root

This trick relies on the fact that the cubes of single digit whole numbers end in unique digits.

03=00^3 = 0
13=11^3 = 1
23=82^3 = 8
33=273^3 = 27
43=644^3 = 64
53=1255^3 = 125
63=2166^3 = 216
73=3437^3 = 343
83=5128^3 = 512
93=7299^3 = 729

Example: Cube root of 474552 (AAABBC) = 78

Steps:

  1. Cube just lower than AAA (474) = 343 = 7^3
  2. Cube ending in C (2) = 512 = 8^3

Divisibility rules

NumberTestExamples
2The last digit is even0, 2, 4
3The sum of digits is divisible by 3357: 3+5+7 = 15/3 = 5
4The last 2 digits form number that is divisible by 4732: 32/4 = 8
5Ends in 0 or 57330, 85
6Is divisible by 2 and 372
7The alternating sum of blocks of three from right to left gives a multiple of 71,369,851: 851−369+1 = 483 = 7*69
8The last three digits form a number that is divisible by 828,152: 152 = 8*19
9The sum of the digits form a number that is divisible by 92880: 2+8+8+0=18 = 2*9
10The ones digit is 0270, 50
11The alternating sum of the digits is divisible by 11918,082: 9−1+8−0+8−2 = 22 = 2*11
12Is divisible by 3 and 4336
13The alternating sum of blocks of three from right to left gives a multiple of 132,911,272: 272-911+2 = -637 = 13*-49
14Is divisible by 2 and 7238
15Is divisible by 3 and 5415

Fibonacci series hidden in ordinary division

If you divide 1 by 999,999,999,999,999,999,999,998,999,999,999,999,999,999,999,999, you get this curious result:

0.
000000000000000000000000 000000000000000000000001 000000000000000000000001 000000000000000000000002
000000000000000000000003 000000000000000000000005 000000000000000000000008 000000000000000000000013
000000000000000000000021 000000000000000000000034 000000000000000000000055 000000000000000000000089
000000000000000000000144 000000000000000000000233 000000000000000000000377 000000000000000000000610
000000000000000000000987 000000000000000000001597 000000000000000000002584 000000000000000000004181
000000000000000000006765 000000000000000000010946 000000000000000000017711 000000000000000000028657
000000000000000000046368 000000000000000000075025 000000000000000000121393 000000000000000000196418
000000000000000000317811 000000000000000000514229 000000000000000000832040 000000000000000001346269
000000000000000002178309 000000000000000003524578 000000000000000005702887 000000000000000009227465
000000000000000014930352 000000000000000024157817 000000000000000039088169 000000000000000063245986
000000000000000102334155 000000000000000165580141 000000000000000267914296 000000000000000433494437
000000000000000701408733 000000000000001134903170 000000000000001836311903 000000000000002971215073
000000000000004807526976 000000000000007778742049 000000000000012586269025 000000000000020365011074
000000000000032951280099 000000000000053316291173 000000000000086267571272 000000000000139583862445
000000000000225851433717 000000000000365435296162 000000000000591286729879 000000000000956722026041
000000000001548008755920 000000000002504730781961 000000000004052739537881 000000000006557470319842
000000000010610209857723 000000000017167680177565 000000000027777890035288 000000000044945570212853
000000000072723460248141 000000000117669030460994 000000000190392490709135 000000000308061521170129
000000000498454011879264 000000000806515533049393 000000001304969544928657 000000002111485077978050
000000003416454622906707 000000005527939700884757 000000008944394323791464 000000014472334024676221
000000023416728348467685 000000037889062373143906 000000061305790721611591 000000099194853094755497
000000160500643816367088 000000259695496911122585 000000420196140727489673 000000679891637638612258
000001100087778366101931 000001779979416004714189 000002880067194370816120 000004660046610375530309
000007540113804746346429 000012200160415121876738 000019740274219868223167 000031940434634990099905
000051680708854858323072 000083621143489848422977 000135301852344706746049 000218922995834555169026
000354224848179261915075 000573147844013817084101 000927372692193078999176 001500520536206896083277
002427893228399975082453 003928413764606871165730 006356306993006846248183 010284720757613717413913
016641027750620563662096 026925748508234281076009 043566776258854844738105 070492524767089125814114
114059301025943970552219 184551825793033096366333 298611126818977066918552 483162952612010163284885

Misc