Every 400-year period contains exactly 146,097 days, so by dividing and taking remainder you can reduce the problem to finding a date between 2000 and 2399.
First, if $D\le 366$, it's in 2000. That's reasonable to treat as a special case, because 2000 is the only multiple of 100 within our period that's a leap year.
Otherwise subtract $366$ from $D$; we're now looking for a date between 2001 and 2399 and counting January 1 2001 as day 0. Any 100-year period in this interval contains 36,524 days; by dividing with remainder once more we can reduce the problem to find a date between 2001 and 2100.
Now, any 4-year period between 2001 and 2100, except the last, contains 1461 days. The last one has only 1460 days, but since $D$ at this stage can never be 36525 we can ignore that difference. Just divide by 1461 and the remainder will point to a date between 2001 and 2004.
Finally divide by 365; if the quotient is 4 we're at December 31 2004; otherwise the quotient plus 2001 is the year and the remainder is the day within the year (which is 0-based, so add one if you want an 1-based day number).