I'm so happy to have spent twenty years of my life learning math and solving problems on Project Euler and elsewhere.
That means one of the total sum of possible car plates is 26^3.
Since we want to find pairs (x, y) that x + y = 1000. That means the total sum would also add up sum([1 for x in range(1000) for y in range(1000) if x + y == 1000])/2 since there is a symmetry.
But wait, find the expected number of plates he needs to see for a win. So maybe we need to borrow something from statistics (Possion/chi-squared distribution) or queueing theory...?
Edit: ah I saw the solution, it is a Markov chain.
The problem was based on 2013 Putnam Exam problem A2 (https://kskedlaya.org/putnam-archive/2013.pdf) which I took at the end of undergrad.
I got an email six years later (in November 2024) telling me they accepted the problem:
Greetings!
Please excuse the email. It's quite possible that you are no longer active at Project Euler, but we are currently trying to retrospectively acknowledge contributors of problems.
You were identified as being involved with Square subsets [619 m] in Sep-17.
If you would like to be added as a verified contributor, please reply to this email and provide the username you currently use at projecteuler.net. Please note that contributor usernames will not appear publicly, rather they will be used internally to unlock new contributor awards we are introducing.
Regards,
Project Euler Team
Claude Opus failed to solve after trying for a while.
Beyond a certain point, most required some knowledge of elementary number theory.
There is only very basic info here: https://en.wikipedia.org/wiki/Project_Euler
This article is excellent. It mentions the creator, Colin Hughes, and the story behind the project, but it boils down to a passion project for him.
That said, raw brute force often did far better than you'd like to admit.
A real gem of a resource.
Also a great way to learn a new programming language is to try project Euler problems with it.
I created a PDF version that I keep on my Remarkable for puzzling: https://github.com/pveierland/project_euler_offline
I loved to solve it and then look through all the different solutions and find pretty ideas and idioms.
(I have all my solution code, in source control no less, so if I ever lost my account, I could just run them all and re-enter the solutions.)