Here’s my writeup of a solution! It’s quite similar to @zzq’s solution for the case of integer weights.
The first thing to notice is that it doesn’t matter whether the weights are given in ounces or metric tons or anything else. Let’s pick nanograms so we can express all of them as integers! Ok, this is math, not reality, so even expressing the weights as numbers of atoms need not yield whole numbers. But if we prove it’s true when we round the weights to the nearest nanogram then we’re basically there. We’ll come back to the non-integer weights question.
Terminology
Defining two terms will make the rest of this easier to talk about.
First, call a set of coins panpartitionable if, for every coin in the set, when you remove it there exists a partitioning into two equal-sized subsets of equal total weight. (Only odd-numbered sets of coins can be panpartitionable since you need the number of coins to be even when you remove one.)
Second, a set of coins is homogeneous if they all have identical weight.
So we’re proving that if a set of coins is panpartitionable then it’s homogeneous.
The case of integer weights
Changing the weight units is just saying we can multiply all the weights by any number. We can also add or subtract the same number from all the weights. Any two piles of coins that weigh the same will still weigh the same if every coin has a constant added to it. And two piles that don’t weigh the same still won’t. Neither panpartitionability nor homogeneity changes when we translate and scale the weights.
We’ll take advantage of that by first subtracting the weight of the lightest coin from all the coins. Of course if all the weights are the same then doing that makes them all weigh zero! So assume they’re not all the same and we’ll try to find a contradiction.
After adjusting the weights so the lightest one weighs zero, and assuming they don’t all weigh zero, suppose that all the weights are even. Then we can divide them all by 2. If they’re still all even, do it again until at least one is odd.
Interlude: A review of adding even and odd numbers
- An even number plus or minus an even number must be even.
- An even number plus or minus an odd number is odd.
- An odd number plus or minus an odd number is even.
(In other words, adding or subtracting an odd number toggles the oddness; adding or subtracting an even number doesn’t.)
Now we’ll show that the total weight of all the coins must be even… and also odd.
Being panpartionable means that no matter what coin we remove, the total remaining weight must be even. That’s what even means: we can express it as the sum of two equal amounts, i.e., some integer times 2.
Great, so pick the zero-weight coin as the one to remove. The “remaining” weight, which is to say the total weight, is even. So far so good.
Now remove an odd-weighted coin (the one that must exist unless all the weights are zero). Say it weighs 2k+1. The remaining weight still must be even. Call it 2r. That means the total weight is 2r+(2k+1) = 2(r+k)+1, which is odd. Very odd indeed, since we just proved the total weight was even!
Which is to say we’ve found our contradiction, so our assumption that not all the coins weighed the same was wrong.
The case of rational weights
If the weights are all rational then just multiply them all by their least common denominator to make them all be integers. Done.
The case of irrational weights
[UPDATE: Thanks to Noah Walton, I now believe this part to be wrong! … Much later update: but I failed to write down how he convinced me of that!]
By the density of the rationals in the reals, if a weight isn’t rational we can pick a rational weight arbitrarily close to it. In less mathy terms: If the coins don’t each weigh a whole number of grams we can round up to the next higher number of grams and be off by less than a gram. And we can go ever finer – milligrams, micrograms, nanograms, picograms – and be off by as little as we like.
Back to the mathy version, we can pick an arbitrarily small positive epsilon and add amounts strictly less than epsilon to each coin to make them rational. Imagine augmenting all the coins with those tiny amounts.
The rational-valued augmented coins may not be panpartitionable but they are epsilon-panpartitionable. Namely, for any missing coin, however the original real-valued coins were partitioned, those same piles of now-augmented coins weigh within epsilon of each other. (Or within n/2 times epsilon if every coin in one pile was maximally augmented and every coin in the other was minimally augmented. But we can just start with an epsilon that’s n times smaller and, voila, the piles are within epsilon.)
Since those piles weigh within epsilon of each other for every positive epsilon, they must weigh the same. If they didn’t weigh the same then that would mean there was some positive delta that’s the difference between the piles’ weights. Pick epsilon smaller than that and we’d have a contradiction. (To spell out the contradiction: the difference in the piles’ weights is some positive number delta, but also strictly less than delta.)
So that means the rational-valued augmented coins are panpartitionable, which means they’re homogeneous. If the augmented coins are homogeneous then the irrationally-weighted coins are within epsilon of each other. (Recall that the tiny augmentations are all less than epsilon.)
And since they’re within epsilon for every positive epsilon, they must be homogeneous. Otherwise, similar to above, we could take epsilon to be smaller than the smallest difference between two of them and we’d have a contradiction.
So that’s it. Any real-valued coins that are panpartitionable must be homogeneous. Q.E.D.