Structure preview

Number magic: 9 games with dates, birthdays and calendars

Swapped ages, encoded birthdays, calendar rectangles, Friday the 13th and mental weekday calculation. Nine games with instructions and proofs.

Section: Arithmetic Updated:
Articles /number-magic-date-birthday-calendar-games
Number magic: 9 games with dates, birthdays and calendars

20 min

Calendars seem full of coincidences. Some hide a code, others depend on seven-day weeks or leap years. These nine games each have a recognisable mathematical idea; a simple addition does not need to become a separate trick.

Illustration for the Arithmetic section
Section: Arithmetic

Each game has a presentation, reproducible instructions and an example. Explanations start closed so you can try first. We use the Gregorian calendar. An age someone turns means the age reached on that year’s birthday, not necessarily their age on any arbitrary day.

Continue with the other collection: Number magic: 7 card tricks and their mathematical secrets

1. Ages that swap birth-year digits

Presentation

Two people were born in 1957 and 1961. Predict when the first turns 61 and the second 57 without testing every year.

How it works

  1. Take the last two digits: 57 and 61.
  2. Add them to their shared century base: 1900+57+61.
  3. Announce 2018 and check both ages.

Example. 2018−1957=61; 2018−1961=57. For just one person born in 1957, the year they turn 57 is 1900+2×57=2014.

Watch out. Both birth years must lie in the same hundred-year block, such as 1900–1999. To see both completed ages on one actual day, wait until both birthdays have passed.

Why it works: reveal the explanation

Write the birth years as C+a and C+b, using the same base C. In year C+a+b, their birthday ages are (C+a+b)−(C+a)=b and (C+a+b)−(C+b)=a. Matching your own birth-year digits is the case a=b, not a second mechanism.

A = C+a; B = C+b
Y = C+a+b = A+B−C
Y−A = b; Y−B = a

2. A birthday hidden in six operations

Presentation

A spectator calculates privately and tells you only the result. You recover month and day: the date has been encoded, not read from their mind.

How it works

  1. Multiply the month number by 5, then add 6.
  2. Multiply by 4, add 9, then multiply by 5.
  3. Add the day of the month. From the announced result, subtract 165.
  4. Read the last two digits as the day and the preceding digits as the month.

Example. 27 November: 11 → 55 → 61 → 244 → 253 → 1265 → 1292. You calculate 1292−165=1127 and read 11 | 27. For 3 February the code is 203, read 2 | 03.

Watch out. The encoded order is month–day, regardless of normal local date notation. It does not recover the birth year or verify that the date is valid.

Why it works: reveal the explanation

For month m and day d, the calculation is [(5m+6)×4+9]×5+d=100m+165+d. Subtracting 165 leaves 100m+d. Since the day is between 1 and 31, it cannot carry into the month digits. Integer division by 100 recovers m and the remainder recovers d.

R = [(5m+6)×4+9]×5+d = 100m+165+d
R−165 = 100m+d
m = floor((R−165)/100); d = (R−165) mod 100

3. Guess the birthday day with five sheets

Presentation

Someone thinks of their birthday day number, from 1 to 31. They say only which sheets contain it; you reconstruct the number.

How it works

  1. Prepare the five sheets below; month and year are not needed.
  2. For each sheet ask only whether their number appears.
  3. Add the weights of sheets receiving yes: 1, 2, 4, 8, 16.

Example. For day 27, yes answers come from weights 1, 2, 8 and 16. Their sum is 27.

Sheet / weight 1

Numbers shown
1357
9111315
17192123
25272931

Sheet / weight 2

Numbers shown
2367
10111415
18192223
26273031

Sheet / weight 4

Numbers shown
4567
12131415
20212223
28293031

Sheet / weight 8

Numbers shown
891011
12131415
24252627
28293031

Sheet / weight 16

Numbers shown
16171819
20212223
24252627
28293031

Watch out. Only the day number is recovered. Do not change the lists: each contains exactly the numbers using that binary weight.

Why it works: reveal the explanation

Each integer from 1 to 31 has a unique expression as a sum of distinct powers of 2. The sheets identify those powers. Five yes/no answers distinguish 2⁵=32 patterns; all no would encode 0, which is not a day of the month.

27 = 16+8+2+1 = (11011)₂

4. A calendar rectangle reveals its centre

Presentation

A spectator selects three rows by three columns on a monthly calendar and tells you the sum of its nine dates. You instantly recover the centre and the whole block.

How it works

  1. Use seven calendar columns and a fully filled 3×3 block inside one month.
  2. Ask for the sum of the nine dates without seeing the chosen position.
  3. Divide by 9 for the centre; horizontal neighbours differ by 1 and vertical neighbours by 7.

Example. January 2026 contains the block 8,9,10 / 15,16,17 / 22,23,24. The sum is 144, so the centre is 144/9=16. The four corners also total 64=4×16.

January 2026: a genuine 3×3 block within one month. Centre 16, total 144.
January 2026: a genuine 3×3 block within one month. Centre 16, total 144.

Watch out. No blank cells, month boundaries or wrapping at the end of a calendar row: it must be a genuine rectangular block. The sum reveals the centre day, not an undisclosed month’s name.

Why it works: reveal the explanation

For centre x, the entries are x−8,x−7,x−6; x−1,x,x+1; x+6,x+7,x+8. Offsets cancel in pairs, leaving 9x. Opposite corners both sum to 2x. This is arithmetic symmetry, not a magic square with equal row sums.

Σ = 9x; x = Σ/9
8+9+10+15+16+17+22+23+24 = 144
x = 144/9 = 16

5. The ten-thousand-day birthday

Presentation

Someone born on a Monday reaches 10,000 elapsed days of life. Predict the weekday without counting months and years.

How it works

  1. Divide elapsed days by 7 and retain the remainder.
  2. For 10,000 the remainder is 4: advance four weekdays from the birth weekday.
  3. For the full date as well, add 10,000 days to the birth date using a calendar that handles leap years.

Example. Monday becomes Friday. Someone born on Saturday, 1 January 2000 reaches 10,000 days on Wednesday, 19 May 2027: Saturday plus four days.

Watch out. Count 10,000 fully elapsed days, not the ten-thousandth day when birth day is included as day one. Do not use 365×years to find the full date: leap days would be missing.

Why it works: reveal the explanation

10,000=7×1428+4. Complete weeks leave the weekday unchanged. The same mechanism handles 100 days, remainder 2, and 1000 days, remainder 6; they are one game, not three.

10 000 = 7×1428+4

6. Why every year has a Friday the 13th

Presentation

Go beyond recognising the date: explain why every Gregorian year has at least one Friday the 13th and no more than three.

How it works

  1. If a month starts on Sunday, its 13th is Friday.
  2. Check the first weekdays of all twelve months.
  3. For 2026 the qualifying months are February, March and November.

Example. 1 February 2026 is Sunday; twelve days later is Friday the 13th. March and November repeat the pattern.

Watch out. This uses the Gregorian calendar. The 1st itself is not an already elapsed day when calculating an offset.

Why it works: reveal the explanation

From the 1st to the 13th, 12=7+5 days elapse. Look at month-start offsets from 1 January. Both rows below, for common and leap years, contain every remainder from 0 to 6. Whatever the year’s first weekday, some offset reaches Sunday. No remainder appears more than three times, so the number of Friday the 13ths is between one and three.

Common year: 0,3,3,6,1,4,6,2,5,0,3,5
Leap year: 0,3,4,0,2,5,0,3,6,1,4,6

7. A returning calendar: the 28-year trap

Presentation

Can you reuse an old calendar? Not invariably after 28 years. The guaranteed Gregorian cycle is 400 years.

How it works

  1. Compare both the weekday of 1 January and whether 29 February exists.
  2. 2026 and 2037 are common years starting on Thursday, so their calendars match.
  3. Do not trust a fixed 28-year jump across a century: leap years 2096 and 2124 start on Sunday and Saturday respectively.

Example. 2000 is leap, 2100 is not, and 2400 is. A valid date and its weekday recur 400 years later if Gregorian rules are retained.

Watch out. The full rule is divisible by 4, except multiples of 100 unless divisible by 400 too. Matching first weekdays alone is insufficient when only one year is leap.

Why it works: reveal the explanation

Among 400 years there are 100 multiples of 4, but three century exceptions leave 97 leap years. Total days are 400×365+97=146097=7×20871. Both weekdays and the leap-year pattern repeat. Four hundred years is a guaranteed period, not the minimum wait for each individual calendar.

400×365+97 = 146097 = 7×20871

U.S. Naval Observatory · Leap Years

8. 53 numbered weeks without adding days

Presentation

A civil year has 365 or 366 days. How can its ISO week-numbering year have 53 weeks? Recognise the long ones without browsing a calendar.

How it works

  1. ISO weeks start on Monday; week 1 contains 4 January, equivalently the year’s first Thursday.
  2. Predict 53 ISO weeks if 1 January is Thursday, or Wednesday in a leap year.
  3. 2026 starts on Thursday and therefore has week 53.

Example. ISO week 1 of 2026 begins on 29 December 2025. 1 January 2027 still belongs to 2026-W53; 4 January 2027 begins 2027-W01.

Watch out. An ISO week-year need not match the civil year of each of its days. Fifty-three ISO weeks do not make civil year 2026 contain 371 days.

Why it works: reveal the explanation

A week belongs to the year containing its Thursday. Counting a year’s assigned ISO weeks is therefore counting its Thursdays: 52 plus a possible extra Thursday among the one or two days beyond 52 complete weeks. This gives precisely the Thursday-or-leap-Wednesday rule.

Utrecht University · The ISO 8601 Calendar

9. Name the weekday: Conway’s method

Presentation

With practice you can name a date’s weekday. John Conway’s Doomsday method uses small calculations and a few anchor dates, not a memorised calendar.

How it works

  1. Number weekdays Sunday=0 through Saturday=6. Let C be the century digits before the year’s final two digits. Its anchor is the remainder of 2+5×(C remainder 4), divided by 7. For 2000–2099 it is Tuesday=2.
  2. Divide the last two digits y by 12, giving quotient q and remainder r. Add q+r+floor(r/4) to the century anchor and reduce modulo 7. This is the year’s anchor weekday.
  3. Choose an anchor date in the month from the table: they all fall on that year’s anchor weekday.
  4. Find the day difference from the anchor date, remove complete weeks, and move forwards or backwards.

Example. 27 November 2026: 26=12×2+2, so q=2, r=2 and floor(r/4)=0. The anchor is 2+2+2+0=6, Saturday. Thus 7 November is Saturday. Twenty more days leave remainder 6, giving Friday.

MonthCommon yearLeap year
JanuaryJanuary 3January 4
FebruaryFebruary 28February 29
MarchMarch 14March 14
AprilApril 4April 4
MayMay 9May 9
JuneJune 6June 6
JulyJuly 11July 11
AugustAugust 8August 8
SeptemberSeptember 5September 5
OctoberOctober 10October 10
NovemberNovember 7November 7
DecemberDecember 12December 12

Watch out. January and February require the correct common-year or leap-year anchor. Turn a negative remainder positive by adding 7. Do not confuse the month number with its anchor day.

Why it works: reveal the explanation

Each common year shifts weekdays by one; a crossed leap day adds another. The annual calculation equals y+floor(y/4), modulo 7: y=12q+r gives 15q+r+floor(r/4), and 15q has the same remainder as q. Monthly anchors differ by whole weeks, while century anchors follow the Gregorian 400-year cycle.

C = floor(Y/100); y = Y mod 100
a = [2+5(C mod 4)] mod 7
q = floor(y/12); r = y mod 12
D = [a+q+r+floor(r/4)] mod 7

NIST · Doomsday rule · William & Mary · Doomsday

The shared secret is not memorising an answer, but recognising what stays fixed: a difference, a remainder, a code or an elapsed day count. For historical dates, first establish which calendar was actually used: these rules do not automatically account for different countries’ Gregorian adoption dates.

Continue with the other collection

Sources and further reading