%I #21 Feb 15 2016 12:16:53
%S 0,1,1,1,2,1,2,7,2,3,1,1,3,1,7,3,4,1,2,1,4,3,2,23,4,5,1,1,7,1,5,31,16,
%T 11,17,5,6,1,2,3,2,1,6,1,11,5,23,47,6,7,1,1,4,1,2,11,7,3,1,1,15,1,31,
%U 7,8,1,2,1,4,23,5,71,8,1,1,25,19,7,26,79,8,9,1,1,3,1,2,3,4,1,9
%N First factor in happy factorization of n.
%C a(n) = n / A007967(n);
%C a(A007969(n)) = A191854(n); a(A007970(n)) = A191856(n). - _Reinhard Zumkeller_, Jun 18 2011
%H Reinhard Zumkeller, <a href="/A007966/b007966.txt">Table of n, a(n) for n = 0..300</a>
%H J. H. Conway, <a href="http://www.cs.uwaterloo.ca/journals/JIS/happy.html">On Happy Factorizations</a>, J. Integer Sequences, Vol. 1, 1998, #1.
%H <a href="/A007968/a007968.txt">Initial Happy Factorization Data</a>
%t r[b_, c_, d_] := (red = Reduce[x > 0 && y > 0 && b*x^2 + d == c*y^2, {x, y}, Integers] /. C[1] -> 1 // Simplify; If[Head[red] === Or, red[[1]], red]); f[n_] := f[n] = If[IntegerQ[rn = Sqrt[n]], {0, rn, rn, rn, rn}, Catch[Do[b = bc[[1]]; c = bc[[2]]; If[ c > 1 && (r0 = r[b, c, 1]) =!= False, rr = ToRules[r0]; x0 = x /. rr; y0 = y /. rr; Throw[{1, b, c, x0, y0}]]; If[ b > 1 && (r0 = r[c, b, 1]) =!= False, rr = ToRules[r0]; x0 = x /. rr; y0 = y /. rr; Throw[{1, c, b, x0, y0}]]; If[ (r0 = r[b, c, 2]) =!= False, rr = ToRules[r0]; x0 = x /. rr; y0 = y /. rr; If[OddQ[x0] && OddQ[y0], Throw[{2, b, c, x0, y0}]]]; If[ (r0 = r[c, b, 2]) =!= False, rr = ToRules[r0]; x0 = x /. rr; y0 = y /. rr; If[OddQ[x0] && OddQ[y0], Throw[{2, c, b, x0, y0}]]]; , {bc, Union[Sort[{#, n/#}] & /@ Divisors[n]]} ]]]; a[n_] := f[n][[2]]; A007966 = Table[Print[a[n]]; a[n], {n, 0, 90}] (* _Jean-François Alcover_, Jun 25 2012 *)
%o (Haskell)
%o import Data.List (genericIndex)
%o a007966 n = genericIndex a007966_list n
%o a007966_list = map fst hCouples
%o -- Pairs hCouples are defined in A007968.
%o -- _Reinhard Zumkeller_, Oct 11 2015
%Y Cf. A191914.
%Y Cf. A007968, A007969, A007970, A191854, A191856.
%K nonn
%O 0,5
%A _J. H. Conway_