# Finding roots of Bessel function $y=3J_1(x)+xJ_1'(x)$ is returning inaccurate roots. Not Kernel bug [closed]

I can't figure out why Mathematica is returning the incorrect roots. The first five should be 2.9496,5.84113,8.87273,11,9561, and 15.0624 according to my textbook.

Clear[x]
Plot[3 BesselJ[1, x] + x D[BesselJ[1, x]], {x, 0, 15}] FindInstance[{BesselJ[1, x] + x D[BesselJ[1, x]] == 0, x >= 0,
x < 16}, x, 10]


{{x -> Root[{BesselJ[1, #1] + BesselJ[1, #1] #1 &, 3.83170597020751231561443588631}]}, {x -> Root[{BesselJ[1, #1] + BesselJ[1, #1] #1 &, 7.01558666981561875353704998148}]}, {x -> Root[{BesselJ[1, #1] + BesselJ[1, #1] #1 &, 10.17346813506272207718571177678}]}, {x -> Root[{BesselJ[1, #1] + BesselJ[1, #1] #1 &, 13.32369193631422303239368412695}]}}

I tried previous posts 1, 2 with the same problem with the same result, making me think it's not the bug in RootFind of bessel, but something else like the textbook was wrong or I'm not inputting the equation correctly.

Zeros[x_] = BesselJ[1, x] + x D[BesselJ[1, x]];
(zeros = First@
Last@Reap@
Quiet@NDSolve[{y'[x] == Zeros'[x], y == Zeros,
WhenEvent[y[x] == 0, Sow[FindRoot[Zeros[z], {z, x}]]]},
y, {x, 0, 40}, AccuracyGoal -> 1,
PrecisionGoal -> 1]) // AbsoluteTiming


{0.0392937, {{z -> 3.83171}, {z -> 7.01559}, {z -> 10.1735}, {z -> 13.3237}, {z -> 16.4706}, {z -> 19.6159}, {z -> 22.7601}, {z -> 25.9037}, {z -> 29.0468}, {z -> 32.1897}, {z -> 35.3323}, {z -> 38.4748}}}

FindRoot has the same result:

FindRoot[{BesselJ[1, x] + x D[BesselJ[1, x]] == 0}, {x, 3}]


{x -> 3.83171}

x /. NSolve[{3 BesselJ[1, x] + x D[BesselJ[1, x], x] == 0, 16 > x >= 0}, x]

You made a mistake when you write D[BesselJ[1, x]] and also you are missing 3 in first term.