A few times, over the past few weeks, I've seen a particular friend of mine, and he's had a game with him, a game called Spot It. It takes the form of a bunch of cards, each of which has eight different symbols on it; the game mechanic depends on the fact that each pair of cards has exactly one symbol in common.

The game, as it happens, has 55 cards. (That's what the box says and that's what I found when I counted them.) I got curious about the structure of the deck; yesterday, when I saw it again, I copied down the information about what symbols are present on what cards.

It turns out there are 57 distinct symbols. 42 of them appear on
eight cards each, 14 appear on seven cards each, and one appears on
six. This looks suspiciously like "57 symbols, 57 cards, each
card has eight symbols, each symbol appears on eight cards" with
two cards missing. I briefly thought perhaps two cards had been lost,
but then I found the statement on the box I referred to above, saying
that it was *supposed* to have 55 cards.

But I wondered if perhaps it could be treated as a 57-card set with two cards missing and I could perhaps deduce the `missing' cards.

Today I tried that. Yes, it can be. It's trivial to deduce what the `missing' cards are, and, with them added, it is then a 57-card deck with the same property; that any two cards have exactly one symbol in common.

Then I noticed that 57 equals 57. That is, that the number of cards in the `complete' deck equals the number of distinct symbols. Then, I drew up a 57x57 matrix, where one axis is card identity and the other is symbol identity. It looks symmetric enough, and, on checking, it turns out that the "one bit in common" property holds in the other dimension too (which means, mapped back into cards, that, for every pair of symbols, there is exactly one card that has both of them).

This feels like combinatorics, but it also feels like coding theory (those bit vectors could be seen as 57 codewords of 57 bits each, each with 8 bits set, with the Hamming distance between any two codewords being 14).

This leads me to ask some questions, none of which I have answers to at the moment.

If we change 8, is there always a substitute for 57 that preserves the above properties? Why or why not?

57 seems like a peculiarly unspecial number. Where does it come from?

Is the card/symbol matrix always square? Or, rather, since we have an example of a 55x57 matrix, are there always at least as many symbols as cards, and is it always possible to add cards to make the matrix square?

Is it possible to add even more cards without breaking the "one symbol in common" property?

I'm tempted to ask the makers of the game why they left out the two "missing" cards. But I doubt it's worth the bother, since that would mean writing and printing a paper letter.

Edit, 2015-11-22: Thanks to an IRC acquaintance who is clearly much more of a mathematician than I am, there is now a writeup of this stuff from a much more sophisticated perspective; in particular, it answers the questions above and more, via isomorphisms between this stuff and already-studied structures.