This does what you need
var solution = list1.Except(list2);
You can find more details about Except here, but the basic idea is:
This method returns those elements in first that do not appear in second. It does not also return those elements in second that do not appear in first.