Suvrat is perfectly correct, but in the interest
of

clarity, and yes

pedantry, I'd like to add
my $0.02.

It may not be clear from above how to combine
probabilities. You should associate **AND**
with multiplication and **OR** with addition.
Thus the probability of the person 1 having
a unique birthday AND person 2 having a unique birthday
AND *etc.* is

365 364 363 365-(n-1) 365! 1
--- X --- X --- X ... X --------- = ----- X -----
365 365 365 365 n! 365^n

Indeed, using this formula, here are the probabilities
that in a group of n people there will be at least
two people sharing the same birthday.

n probability
----- -------------
10 11.6948%
20 41.1438%
23 50.7297%
30 70.6316%
40 89.1232%
50 97.0374%

Well, what we neglected was leap day. This is
a good approximation, but let's see if we can get
the absolutely correct answer including leap day.
Person X has one of 366 possible birthdays, but
not with equal weight. To make it easier, let us
group 4 consecutive years together. The chance of
his/her birthday being January 21 is 4/(3*365 + 366)
vs. the chance it's February 29 which is 1/(3*365 + 366)
since there are 3*365 + 366 (=1461) days in 4 years, with
4 Jan 21th's and 1 Feb 29th. Note 3*365+366 = 4*365+1.

OK, remember we are going to compute the probability
that every one of the n people have unique birthdays,
than subtract that probability from 100%. So in our
computation we have two cases to consider: **(A)**
one where
no one is born on Feb 29 and **(B)** one where 1 person is born on Feb 29.
Let me drop the denominator, which will be n factors
of 1461.

Case **(A)** is the same as our approximation before,
except over 4 years instead of 1:

Num(P_{A}) = (4*365 + 1)*(4(365-1)+1)
*(4(365-2)+1)*...*(4(365-(n-1))+1).

Believe it or not, this product has a name,
and is called the Pochhammer function, a ratio
of Gamma functions.
Case **(B)** is more complicated. Let's say that
the k'th person is the one with the Feb 29th birthday.
Then

Num(P_{B})(k) = (4*365 + 1)*(4(365-1)+1)*...*
(4(365-(k-2))+1)*(4(365-(k-2))+0)*(4(365-(k-1))+0)*...*
(4(365-(n-2))+0).

This is so convoluted it's just a unnamed
ratio of Gamma functions,
as far as I know.
OK, I'm getting tired. Still, we aren't done since
we have to sum over all possible k's. I'm not going
to write that down, since there isn't a pretty
closed form that would be enlightening. Schematically,
it looks like

Prob = (1460/1461)*Num(P_{A})/1461
+ (1/1461)Sum_{k}Num(P_{B})(k)/(1461*n)

Instead I wrote a

python program to compute both
the inexact and exact results. /msg me and I'll
e-mail it to you. Someone checking it would be
useful. In fact I'll check it more when I get time.
Here's a table of the

**EXACT** results
(to 6 digits)

n probability
----- -------------
10 11.6867%
20 41.1213%
23 50.7045%
30 70.6056%
40 89.1057%
50 97.0297%

As a physicist I have to question
my sanity and priorities in life for spending
1.5 hours of my life to compute a 10^{-3}%
effect in such an academic problem, but I
did actually enjoy it.

More pedantry: what makes this a paradox???
Nothing! It's just *farking cool*!

Even more pedantry: derobert reminds me that leap day is
suspended on years divisible by 100 unless the year is also
divisible by 400, so my calculations are only exact for a room
full of people born no earlier than 1 January 1901. Since 2000
had a leap day, you can use my code reliably until 2100, when
your grandkid can add the appropriate correction factor.