I have another 23 piece solution which is probably overcomplicated:
I looked at the other solutions and found that they used much simpler xor gates. I got mine because I winged it and was stubborn. Are there any solutions like mine?
The first solution is correct, the second solution is erroneous. There are a lot of correct solutions obtained by solver, but not all of them can be implemented on the board. I only did the first one on 22 parts.