Its just school homework aimed on recursion and simulating some sort of machine, not some solution bussiness project.
Obviously.
It's just one of those nonsensical questions which requires one to guess what exactly the asker meant, not how to actually solve the problem. Similar question
was/is used in interviews, allegedly at Google as well. It's not really a good question.
In information theory there is a distinction between information and data. The "one variable" is data. Two numbers is two distinct pieces of numbers. We can write 42 or XXXXII or 0x2a. They all represent same amount of information but use different data representations.
By using primes to encode two numbers we still have two numbers.
If we treat these two numbers as information, then multiplication is abstract concept and requires no storage or computer language variables. a=b*c is just that.
If we treat these two numbers as data, then there is always a way to encode them into something we can call "one". Be it a struct, tuple, or prime-encoding. Either way, we shall require at least as many bits as sum of entropy of both numbers.
The prime solution requires agreeing on two primes. Let's say 3 and 7. This becomes implicitly encoded into our "single" variable. Which is exactly the answer I gave originally. But instead of combining 3*a+7*b, I multiplied a*b and stored that.