Quick proof veracity test for this question

Let $\displaystyle d\in{N}$ that is not the square of another natural number. Prove that $\displaystyle \sqrt{d}$ is not a rational number

My proof

Assume $\displaystyle \sqrt{d}\in{Q}$, hence $\displaystyle \sqrt{d}=\frac{a}{b}$, where $\displaystyle a,b\in{N}$ and $\displaystyle gcd(a,b)=1$

So $\displaystyle d=\frac{a^2}{b^2}$, so $\displaystyle db^2=a^2$. Note $\displaystyle d|a^2$, so d|a

Hence$\displaystyle a=dn$

and $\displaystyle a^2=d^2n^2$

Therefore

$\displaystyle d=\frac{d^{2}n^{2}}{b^2}$, divide by b

$\displaystyle 1=\frac{dn^2}{b^2}$

So $\displaystyle b^2=n^{2}d$ and $\displaystyle d=\frac{b^2}{n^2}$

So $\displaystyle \sqrt{d}=\frac{b}{n}$

Thus $\displaystyle \sqrt{d}=\frac{a}{b}=\frac{b}{n}$

Hence

$\displaystyle \frac{a}{b}=\frac{b}{n}\rightarrow{b^2=an}\rightar row{\frac{b^2}{a}=n}$

Hence $\displaystyle a|b$

But this gives a contradiction as $\displaystyle gcd(a,b)=1$

Hence our initial assumption is wrong and $\displaystyle \sqrt{d}$ is irrational

QED

Is this proof 100% correct?