Can you say what the constants from the numerical solution are approximately?
....
OK, I found some right away using RandomComplex
with FindRoot
:
{a -> 56.22778029126074` + 3.740551142700798`*^-14 I,
c[1] -> -0.7096774193548387` - 0.11174521339154064` I,
c[2] -> -95.41801151976168` + 129.84673071733812` I,
c[3] -> 0.7096774193548386` - 0.11174521339154053` I}
Assuming these are close to what you want (there may be many solutions), then the following can be used to increase their precision:
{dsol} = DSolve[a f'[x]^2 + f'''[x] == 0, f, x, GeneratedParameters -> c];
bcsys = {f[0] == 0, f'[0] == 0, f[1] == 1, f''[1] == 0} /. dsol; (* BC system *)
vars = {a, c[1], c[2], c[3]};
init = {a -> 56.22778029126074` + 3.740551142700798`*^-14 I,
c[1] -> -0.7096774193548387` - 0.11174521339154064` I,
c[2] -> -95.41801151976168` + 129.84673071733812` I,
c[3] -> 0.7096774193548386` - 0.11174521339154053` I};
prec = 32; (* desired precision *)
nparam = FindRoot[bcsys, Thread@{vars, vars /. init}, WorkingPrecision -> prec]
bcsys /. Equal -> Subtract /. nparam // Abs
(*
new roots:
{a -> 56.227780291260753368416425986923 -
1.6078204829418050036920493892578*10^-29 I,
c[1] -> -0.70967741935483870967741935483880 -
0.11174521339154047055015782848423 I,
c[2] -> -95.418011519761677541078344370704 +
129.84673071733781256688742233049 I,
c[3] -> 0.70967741935483870967741935483878 -
0.11174521339154047055015782848427 I}
residuals:
{0.*10^-29, 0.*10^-27, 0.*10^-29, 0.*10^-26}
*)