The question is; how to calculate (x * a) XOR (x *b) XOR (x *c)?
Definitions are; x, a, b, c are all large hexadecimal numbers known by default.
Solutions are; to calculate xa, xb, x*c and then bitwise xor them. the problem for this solution is that bitwise operation is binary logic arithmetic operation and its way too slow for large numbers and you should convert any number to Binary base and not an option to do without computer, at least for solution I'm looking for.
second solution was provided in this stackoverflow thread, were: (a − b)² or a + b - ab(1 + a + b - ab) that all are wrong and you can test them yourself.
Now, My question is; is there any mathematical equation for XOR rather than bitwise operations? I searched everywhere but I couldnt find any working example of such thing.
A bit of understanding: XOR is bitwise adding 2 or more numbers without including carry bit in calculations. This means all odd TRUE(1) numbers will result in TRUE(1), and others to FALSE(0).
Any help appreciated.
If you want to express $x \oplus y$ using only $\{+, -, *, /\}$ (the latter being integer division), then I suspect you won't like the answer: $$x \oplus y = x+y-2*\sum_{k \in \mathbb{N}} (x/2^k - 2*x/2^{k+1})*(y/2^k - 2*y/2^{k+1})*2^k$$
The sum is over an infinite set but only finitely many summands are non-zero.
Can it be done "easier"? Probably not. Notice that if you could use only $\{+, -, *\}$ and no summation/multiplication over infinite sets then any expression would be a polynomial and any polynomial is monotonic for large enough $x, y$ while $x \oplus y$ is not.