To me it seems correct. Except for one thing: you say "divide by b" , but you're actually dividing by d. All the steps are correct though.
Quick proof veracity test for this question
Let that is not the square of another natural number. Prove that is not a rational number
My proof
Assume , hence , where and
So , so . Note , so d|a
Hence
and
Therefore
, divide by b
So and
So
Thus
Hence
Hence
But this gives a contradiction as
Hence our initial assumption is wrong and is irrational
QED
Is this proof 100% correct?