In question block size has not been given,so we can assume block size $2^x$ Byte.
Number of Blocks:- $\dfrac{512\times 2^{10}}{2^x} =\large2^{19-x}$
Number of sets:- $\dfrac{2^{19-x}}{8 }=\large2^{16-x}$
So number of bits for sets $=16-x$
Let number of bits for Tag $=T$
And we have already assumed block size $2^x$ Byte,therefore number of bits for block size is $x$
And finally,
$T + (16-x) + x = 40$
$T+16 = 40$
$T = 24.$