Combine df1 and df2 side by side (columns from both, side by
side), aligning rows by index label and keeping every index label that appears
in either DataFrame — filling with NaN wherever one side has no value for
a given label.
Sample data:
df1:
x
a 1
b 2
c 3
df2:
y
b 10
d 20
solve(...)