You can specify blanks with Null and construct the equations for Solve:
{{Null}, {28,}, {, 20,}, {2, , , 14}} /. Null :> Unique[];
% /. Solve[ListCorrelate[{1, 1}, #2] == #1 & @@@ Partition[%, 2, 1]]
(* {{{76}, {28, 48}, {8, 20, 28}, {2, 6, 14, 14}}} *)
EDIT
You can put maximum of n(n - 1)/2 blanks in order for wall to be uniquely (ok, sometimes, see below) solvable. This would construct a random wall with specified number of blanks with n(n - 1)/2 as default:
makeWall[n_, OptionsPattern[{Blanks -> n (n - 1)/2}]] :=
Reverse@ReplacePart[#,
RandomSample[Position[#, _Integer], OptionValue[Blanks]] ->
Null] &@NestList[ListCorrelate[{1, 1}, #] &,
RandomInteger[10, n], n - 1]
And to wrap up the above solution:
solveWall =
With[{wall = # /. Null :> Unique[]},
wall /. Solve[
ListCorrelate[{1, 1}, #2] == #1 & @@@ Partition[wall, 2, 1],
Integers]] &;
Some examples:
makeWall[4]
solveWall@%
(*{{Null}, {18, 14}, {Null, 8, Null}, {3, Null, 1, Null}}*)
(*{{{32}, {18, 14}, {10, 8, 6}, {3, 7, 1, 5}}}*)
makeWall[5, Blanks -> 4]
solveWall@%
(*{{114}, {Null, 55}, {31, Null, 27}, {17, 14, Null, 13}, {10, Null, 7, 7, 6}}*)
(*{{{114}, {59, 55}, {31, 28, 27}, {17, 14, 14, 13}, {10, 7, 7, 7, 6}}}*)
Sometimes (depends on the positions of Nulls) there can be infinite number of solutions, parameterized with free variable C[1] to C[n(n+1)/2] (if you choose to fill the whole wall with Nulls):
makeWall[4]
solveWall@%
(*{{Null}, {14, Null}, {Null, Null, 14}, {Null, Null, 6, 8}}*)
(*{{{ConditionalExpression[C[1], C[1] \[Element] Integers]},
{14, ConditionalExpression[-14 + C[1], C[1] \[Element] Integers]},
{ConditionalExpression[42 - C[1], C[1] \[Element] Integers],
ConditionalExpression[-28 + C[1], C[1] \[Element] Integers],
14},
{ConditionalExpression[76 - 2 C[1], C[1] \[Element] Integers],
ConditionalExpression[-34 + C[1], C[1] \[Element] Integers], 6, 8}}}*)
You can pick possible values for these variables with:
% /. FindInstance[AllTrue[Flatten@%, # >= 0 &], C[1]]
(*{{{{35}, {14, 21}, {7, 7, 14}, {6, 1, 6, 8}}}, {{{37}, {14, 23}, {5,
9, 14}, {2, 3, 6, 8}}}}*)