Find combination of sets which sum up to a specified result
I usually don't like the Tuple but in this case it looks like a perfect example where I think you'd be much better off if you used one instead of the Set (that I'd name Pair). 

The Tuple already can do all the equality stuff so you don't need to write it yourself or you can derive your class from the Tuple so that is supports the + operator.

class Pair : Tuple&lt;int, int&gt;
{
    public Pair(int item1, int item2) : base(item1, item2) {}

    public static Pair operator +(Pair left, Pair right)
    {
        return new Pair(left.Item1 + right.Item1, left.Item2 + right.Item2);
    }
}


Example:

var pair1 = new Pair(1, 2);
var pair2 = new Pair(1, 2);
var pair3 = new Pair(1, 3);

(pair1.Equals(pair2)).Dump(); // True
(pair1.Equals(pair3)).Dump(); // False