You could handle this situation in a similar way to what I suggested for your question about classes, but in this case, you would set up an underbrace of the correct width for the row and use \rlap to draw it under the actual row. Something like
\newcommand{\rowUnderbrace}[1]{\rowUnderbraceParts#1\endparts#1}
\def\rowUnderbraceParts#1\endparts{\rlap{\underbrace{\phantom{#1#2}}}}
show an underbrace under the first row.
Of course, you may want to have a label under the underbrace, and you could add that as an additional argument. It would be nice to be able to make that an optional argument, and that is possible with a little more work.
\newcommand{\rowUnderbrace}[2][\arg{}]{\rowUnderbraceParts#1\arg_\parts#2\endparts#2}
\def\rowUnderbraceParts#1\arg#2#3\parts#4\endparts{\rlap{\underbrace{\phantom{#4#5}}#2{#1}}}
adds an extra optional argument that will provide a label under the brace
\rowUnderbrace[\text{a label}]{a&=b+c}\\
I will leave you to plumb the depths of these definitions to see how they work.
Davide