The key to this is that the ACTUAL sum of all the hats (mod 100) must be one of the numbers from 0 to 99.
Whichever number it is, that player will have guessed his/her hat color correctly.
A corollary: no one else will have guessed correctly. Only the person whose player number matches the actual sum of the hat colors (mod 100) will have guessed right.
Worked out example
Edit to answer this comment:
Your answer is clear in case that the hat color of each player are all different and in case that the hat color of all the players is just one color, say 100 green. But I'm not clear in case there are some repetition of colors, say 40 red, 30 green, 20 blue and 10 yellow. I think there will be 4 groups of 40, 30, 20, 10 different answers. What will guarantee the success ? Will there be more than one correct guess ? Please explain in more details on this point.
Let's work out your example. First, let's assume the colors are numbered like so:
- 13 - red
- 36 - green
- 45 - blue
- 79 - yellow
(Remember, there are another 96 colors available that DON'T happen to be used, but could be.)
And let's say that the players are as follows:
- players 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 are wearing yellow hats
- players 7, 17, 27, 37, 47, 57, 67, 77, 87, 97, 71, 72, 73, 74, 75, 76, 78, 79, 2, 3 are wearing blue hats
- the thirty players in the range 1-40 who have not already been named are wearing green hats
- every other player is wearing a red hat.
Exactly one player will guess right. Who will it be?
To work that out, compute the sum of all the hat colors, mod 100:
$$(13\times40)+(36\times30)+(45\times20)+(79\times10) \mod 100$$
$$20+80+0+90\mod 100$$
$$90$$
Player 90 will guess his hat color right.
How will he do that? Well, player 90 (who is wearing a yellow hat) will see the following hats:
- 9 yellow hats - $79\times9\equiv11\mod100$
- 20 blue hats - $45\times20\equiv0\mod100$
- 30 green hats - $36\times30\equiv80\mod100$
- 40 red hats - $13\times40\equiv20\mod100$
He will then total these to 11 (mod 100), and to make the total sum congruent to his own player number of 90, he will guess color 79 (which is yellow).
(Edit to add: regardless of which players are wearing which hats, if there are 40 red, 30 green, 20 blue and 10 yellow and the colors are numbered as above, player 90 will be the one to guess right no matter what color hat he is wearing. Because he will compute his guess, taking into account all 99 hats he sees, such that the sum of those hats plus the hat color he is guessing is congruent to his player number, mod 100.)
Note that player 56 will ALSO guess color 79 (yellow), but player 56 is wearing a RED hat.
Player 56 will compute the sum of all hats he can see like so:
$$(13\times39)+(36\times30)+(45\times20)+(79\times10) \mod 100$$
$$7+80+0+90\mod 100$$
$$77$$
To make the total sum congruent (mod 100) to his player number of 56, he will guess color 79. (Because $79+77=156\equiv56\mod100$)
By contrast, player 30 (who wears a yellow hat) will compute:
$$(13\times40)+(36\times30)+(45\times20)+(79\times9) \mod 100$$
$$20+80+0+11\mod 100$$
$$11$$
Note this is the same partial sum that player 90 reached. However, player 30 will not guess the color 79 (because 79+11 = 90 and he is not player 90). Instead, he will guess color 19, whatever that is. Maybe it's purple. Since he doesn't have a purple hat, his guess is wrong.
So it's NOT guaranteed that each color is guessed once. It's NOT guaranteed that each guess is different. (These statements are equivalent. And they can happen, for instance in the case where everyone wears a green hat.)
What is guaranteed, is that exactly and only one guess will be correct, and the rest will be wrong.
Symbolic Proof
Let $a_i$ be the hat color number of player numbered $i$, where $i\in\{0, 1, \ldots, 99\}$
(Example: if player number $1$ wore the same color hat as player number $8$, we would write $a_1 =a_8$.)
Thus, any player $k$ knows the value of $k$, but not the value of $a_k$. (This is given in the puzzle and requires no proof.)
Let $S$ be the sum of all hat colors mod $100$; to be precise:
$$(S \in \{0,1,\ldots,99\}) \land (S \equiv \sum_{i=0}^{99} a_i \mod 100)$$
No player knows $S$. However, any player $k$ may compute the value $P_k$ (for "partial sum as known to player $k$") which we may compute as follows:
$$P_k \equiv S-a_k\mod100$$
The player computes this as follows:
$$P_k \equiv \sum_{0\le i\le99, i\ne k}a_k \mod100$$
In other words, by adding all hat colors visible to that player (and reducing it mod 100).
Each player $k$ assumes that the actual sum $S$ is equal to that player's player number: i.e. it's assumed by any player $k$ that $S=k$.
Thus player $k$ shall make guess $G_k$ (for the value of $a_k$) such that:
$$G_k \equiv k-P_k \mod 100$$
We can see (by adding $P_k$ to both sides) that $G_k + P_k \equiv k \mod 100$. In other words, the guessed color plus the sum of all visible hat colors, mod 100, equals the player's number.
But $S \equiv P_k + a_k$, so that $G_k = a_k$ (i.e. the guess is correct), if and only if $S\equiv k \mod100$.
By the pigeonhole principle, there is only one $k$ such that $S \equiv k \mod 100$.
Therefore, the only player who shall guess correctly is player number $S$, and the rest shall guess wrong.
Best Answer
Here's a partial answer: No, these are not the only strategies. For $n=3$, there are $10752$ different strategies, only $24$ of which arise in the manner you describe. (Let's call them "product strategies".)
First, to count the product strategies, we can make use of the fact that there is only one group with three elements and it is abelian. Thus the order in the product is irrelevant, and the only things to choose are the $l_k$ and the three bijections between the colours and the group elements for each logician. That makes four choices with $3!$ possibilities each, but many of these lead to the same strategies. To see this, note that the permutations of the remainders modulo $3$ can all be written as $r\to\sigma r+t$ with $\sigma=\pm1$. The additive constants $t$ of all four options can be assembled into a single one, so we only have one additive constant (three possible values) and four signs. However, we can multiply the entire equation by $-1$, which leaves only three independent signs, with two possible values each, for a total number $3\cdot2^3=24$ of possibilities. This is confirmed by a computer search.
Below I give a listing of a program that finds all strategies for $n=3$. It finds $10752=2^9\cdot3\cdot7$ of them. Here's one that isn't a product strategy:
$$ \begin{array}{c|ccccccccc} &00&01&02&10&11&12&20&21&22\\\hline d_0&0&0&1&0&1&2&1&2&2\\ d_1&2&1&2&0&2&1&0&1&0\\ d_2&2&2&1&1&0&2&1&0&0\\ \end{array} $$
You can check that it's a strategy by going through the $3^3$ cases, and you can see it's not a product strategy because a product strategy couldn't have $d_0(0,0)=d_0(0,1)=0$.
Some interesting facts that may point towards a solution: For $n=3$, there is no individual choice left in any of the strategies; that is, for any two individual strategies $d_0$ and $d_1$ there is never more than one strategy $d_2$ to complete them. Also, for $n=3$ in each strategy each player guesses each colour for the same number of combinations. And generally (not just for $n=3$) only one player guesses correctly for each combination; this follows because the expectation value of a correct guess is $1/n$, so if there were combinations with more than one correct guess there would have to be one with no correct guess. All this may point to some magic-square-like description of the solutions.
Here's the code: