A serious math question for anons, regarding the UPC.
Disregarding its visual barcode element, a UPC is a string (or, ordered 12-tuple) of 12 natural numbers, each 0-9. Given no futher restrictions, there would clearly be 10^12 possible UPCs. However, one further condition clearly limits the number somewhat: three times the sum of the digits in the odd positions (first through eleventh), plus the straight sum of the digits in the even positions (second through twelfth) always returns a multiple of 10, or in other words: is congruent with zero mod ten. If this is not satisfied, the string is not a valid UPC. Thus (assuming only this one additional condition), 000 000 000 000 is clearly a valid UPC, as is 030 000 000 001, for example, while 000 000 000 008 is clearly not.
Put another way, if one knows the first eleven (or, any eleven) of the digits, then the twelfth check digit is fixed: pick that one unique number from 0-9 which, when plugged in, returns a multiple of 10 in the grand total. (the multiple 3 being coprime to 10 was a very intelligent engineering choice here, making any twelfth digit recoverable given the other eleven). Given this consideration, is this enough to show that the number of valid UPCs is precisely 10^11? I have it in mind to do some brainlet brute-forcing in a much less elegant way, to confirm the same number through a tedium, but I wanted to ask first. In fact, thinking about this was how I learned of Mr. Laurer's passing. Happy that the thread seems to have unironic Fs and nobody bitching about barcodes themselves, thus far anyway.