nもdもgcdに渡して戻り値をタプルにするか、
nもdもgも受け取るメインのコンストラクタにするかって解決策しか浮かばない
もっと良いやり方がのかもだけどそこまでscalaを使いこなせてない。