Someone suggested this problem to me a while back: Swap x and y integers, 6 and 248, without using an extra variable.  I was already working on my XOR solution, similar to how RAID 5 and one pad key encryption works, when she told me I could use XOR.  I almost had it! But anyway this is the solution I came up with:

        public void NoExtraVariables_Swap_XY()
            int x = 6;
            int y = 248;

            x ^= y;
            y ^= x;
            x ^= y;

            Assert.AreEqual(248, x);
            Assert.AreEqual(6, y);