The answer is
Divisor: 199. Dividend: 598000572. Solution: 3005028
Explanation:
The first big hint was with line 3 and 4 (calling line 1 the initial equation, and line 9 being 0000)
xxxx−xxx = 5
This means line 3 is between 1000 and 1004, so line 4 is between 995 and 999.
So the divisor is a three-digit number which has a multiple between 995 and 999.
Using this information, and looking at lines 1 and 2, the divisor must be less than 500. So now our current bounds for the divisor are 100 and 500. And since line 4 (constrained between 995 and 999) is a multiple of our divisor (100 to 500), we generate a list of possible options being...
995: 199
996: 498, 332, 249, 166
997: No options
998: 499
999: 333
The difference between the subtraction of line 1 and line 2 is equal to 1, so the possible values of line two are 499 to 598. We then can check to see what options do not have a multiple between this range, removing 498, 332, 249, 333. Which leaves us with 166, 199, 499.
Using lines 7 and 8, the second value of each number, must be a 5. So it must be at least 1500. Since 166×9 < 1500, this rules out 166.
Finally with lines 5 and 6, if you use 499 it is impossible to get a remainder greater than 150, which is required for line 7.
This leaves only 199 left, so using 199, we get a dividend of 598000572 and an answer of 3005028, which satisfies the conditions of the puzzle.
Here's a picture with all the numbers:
