Solving Genealogy