David Gregory, 1659-1708