z = 100; h[n_] := h[n] = HarmonicNumber[N[n, 500]]; x = 1; y = 5;
a[1] = Ceiling[w /. FindRoot[h[w] == 2 h[y] - h[x - 1], {w, 1}, WorkingPrecision -> 400]]; a[2] = Ceiling[w /. FindRoot[h[w] == 2 h[a[1]] - h[y], {w, a[1]}, WorkingPrecision -> 400]]; Do[s = 0; a[t] = Ceiling[w /. FindRoot[h[w] == 2 h[a[t - 1]] - h[a[t - 2]], {w, a[t - 1]}, WorkingPrecision -> 400]], {t, 3, z}];