Find the probability that of 23 randomly selected people, at least two share the same birthday.

The answer is at first sight amazing..............about 50%.


Most of the people start solving this problem making combinations with the product (1/365)*(1/365), because the year has 365 days. Because this product is so small, the first conclusion is that the probability should be very small. As a matter of fact, for two randomly selected persons, the probability that their birthday is, let's say, January 1st, is exactly this product: (1/365)*(1/365). But that is not the question we asked before. We did not specified any day, so we have 365 different options. This is a factor that magnify the probability of the event.

I have developed a method to solve this problem that is not very complicated. Instead of thinking about how many possible combinations we can have with repeated numbers, we should think about how many combinations we could have where there are not repeated numbers! The probability we are looking for (P), will be the complement of this not repeated event probability that we will call (Q). It is clear that Q=1-P.

Let's start with just two persons:

               P2 = 365/(3652) , and     Q2 = 1 - 365/(3652)= (365)*(364)/(3652)

For three persons:

                Q3 = (365)*(364)*(363)/(3653), and P3 = 1 - Q3

For four persons:

                Q4 = (365)*(364)*(363)*(362)/(3654), and P4 = 1 - Q4

and so on. I can generalize to n persons:

       Qn = (365)*(364)*(363)*(362)*....*(365-(n-1))/(365n), and Pn = 1 - Qn

We can rewrite this formula using the factorial function:

          Qn = (365!)/[(365-n)!(365n)]

In the following table I am including calculated values of the probability (PE) for different values of n. Also, I am including the experimental results(Po) obtained by simulation ( find the program for the TI-83,TI-84, TI-89 at the end). The experiments were repeated 1000 times for each value.

10 0.117 0.117
15 0.253 0.261
20 0.411 0.424
25 0.569 0.543
30 0.706 0.718
40 0.891 0.878


Program for Simulation in TI-89:

Disp "Number of People="
Prompt p
Disp "Number of trials="
Prompt t
0 -> n
For k,1,t
clrlist (list1,list2)
randInt(1,365,p) -> list1
SortA list1
list1[1] -> temp
For j,2,p
If list1[j] = temp Then
n+1 -> n
GoTo j1
list1[j] -> temp
Lbl j1
Disp "Total = ", n



Program for Simulation in TI-83-84:

Input "T=",T
Input "P=",P
0 -> N
For (I,1,T)
ClrList L1
randInt(1,365,P) -> L1
Prgm ANY
If M > 0
N+1 -> N
Disp N

Program: ANY
0 -> M
0 -> C
L1(1) -> X
For (J,2,P)
If L1(J) = X THEN
M+1 -> M
L1(J) -> X