I do these things every day, but the ones I do seem a little easier. The ones I get give more initial numbers, and it normally takes me 3-4 minutes to do them. The one you've shown would take a little longer, but there's a pretty simple algorithm that makes it easy, and if you do them every day, it's quite quick. With the ones I do, there are normally enough numbers that you can look at say the middle 3x3 box, realize what numbers need to go in its empty squares, and find one of the numbers which you can immediately place. For example, if you look at the top-middle square in the bottom-right 3x3 box, and imagine a 2 were there, then you could immediately place a 2 in the bottom-left square of the grid. As you do this, you get more numbers obviously, and can normally find other boxes where you can do this, and fill up the whole grid in this way.
If you don't have enough numbers for this (although with the one you posted, you can place a 4 in the bottom-middle square of the top-left box, and then using that 4, place a 4 in the left-middle square of the top-middle box), then you can look at any given square, and by process of elimination list what numbers can go there. If the grid is not "degenerate" then this will necessarily solve it. If you're trying to see which grids are degenerate, you may want to consider the conditions under which this algorithm fails.