public static void Main()
new Parent { Id = 1, Due = 1000},
new Parent { Id = 2, Due = 3000},
new Parent { Id = 3, Due = 5000},
new Parent { Id = 4, Due = 6000}
new Child { Id = 1, Parent = 1, Paid=600},
new Child { Id = 2, Parent = 1, Paid=400},
new Child { Id = 3, Parent = 2, Paid=1000},
new Child { Id = 4, Parent = 2, Paid=1000},
new Child { Id = 5, Parent = 2, Paid=1000},
new Child { Id = 6, Parent = 3, Paid=2000}
var dueParents = parents.Where(parent => parent.Due > children.Where(child => child.Parent == parent.Id).Sum(child => child.Paid));
foreach (var due in dueParents)
Console.WriteLine(due.Id);
public int Parent {get;set;}
public int Paid {get;set;}