Making a circuit entirely with XOR 2-input gates
Actally, it is very simple:

f = (y XOR z) XOR x







simulate this circuit &ndash; Schematic created using CircuitLab

This just by looking at the thruth table and realzing that the bottom half is the inverse of thetop half.



Here's the math using boolean calculus.

We know x ^ y = x'y + xy' (^ is the XOR operator). Then:

g = a'b'c + abc + ab'c' + a'bc'
g = (a'b' + ab)c + (ab' + a'b)c'
     ^using a for X and b' for Y
g = (a ^ b')c + (a ^ b)c'


Now we have (a ^ b')  and (a ^ b), which may seem not be possible to match, unless you realise that due to the nature of the XOR, (a ^ b') = (a ^ b)' [I'll leave that as an exercise to the reader]. Thus

g = (a ^ b)'c + (a ^ b)c'
g = (a ^ b) ^ c


This is only possible due to the special nature of the original equation. If you need an AND or OR you will find it impossible to reduce the function like this.