I think you've all missed something in the earlier calculation. The number of addresses available using IPv6 is not 42 billion but 42 billion * 42 billion * 42 billion * 42 billion.
The current IP addressing scheme uses 32 bits so, theoretically, it can have 2 ^ 32 = 4,294,967,296 addresses.
IPv6 uses 128 bits so it can have 2 ^ 128 = 3.4 * 10^38 addresses (3.4 followed by 38 zeroes).
I think that should be enough to be going on with!