Double kind coefficients as double kind rationals

Maybe,
for coefficients (fixed), you could use an array with the attribute parameter
example:
real(dk), parameter :: coeff(*) = [0.1_dk, 0.2_dk, 0.3_dk]
or
real(dk), parameter :: coeff(3) = (/0.1_dk, 0.2_dk, 0.3_dk/)

a(1) = coeff(1) + coeff(2) * x + coeff(3) * x**2

you can also consult the post: Fortran Best Practice Minibook - #2 by Beliavsky