Here's an illustration of the general principle of returning a List of objects not in some other List, using Linq. You'll have to adapt it to your work:
List<Color> clrList = new List<Color>{Color.Red, Color.Yellow, Color.Green, Color.Orange};
private List<Color> selectOtherColors(List<Color> selectedColors)
{
if(selectedColors.Count != 2) throw new ArgumentException("Must supply two Colors !");
return clrList.Where((clr, ndx) => ! selectedColors.Contains(colorList[ndx])).ToList();
}
Test:
var useTheseColors = selectOtherColors(new List<Color>{Color.Red, Color.Yellow});
This will return a List<Green,Orange>