I think the straightforward way to answer this question is as follows:
The first thing to notice is that they have mentioned the degree as = number of any kind of pointer.
In a B+ tree we always have $number\: of \: pointers = number\: of \: keys\: +1$
i.e. in case of internal nodes, we know that we have one more pointer than keys. And in leaf nodes we have equal number of key-record pointer pairs and one extra pointer for next block pointer is also present.
Since they have mentioned the size of index pointer, i am taking internal nodes. We’ll have
$(n*Pointer)+(n-1)*key = 512$
$\Rightarrow (4n)+(n-1)*8 = 512$
$\Rightarrow n = \frac{520}{12}$
Obviously we’ll take floor, since we can’t exceed block size and hence the answer is 43.