RowReduce
in the Wolfram Language gives generic results. W|A makes more of an effort at what might, only partly facetiously, be termed "mind reading". One can achieve a similar effect using Reduce
.
mat = {{1, 3, 4, b1}, {-4, 2, -6, b2}, {-3, -2, -7, b3}};
vars = Array[x, 3];
lhs = mat[[All, 1 ;; -2]]
rhs = Map[Last, mat]
(* Out[17]= {{1, 3, 4}, {-4, 2, -6}, {-3, -2, -7}}
Out[18]= {b1, b2, b3} *)
Reduce[lhs.vars == rhs, vars]
(* Out[19]= b1 == b2/2 - b3 &&
x[2] == (7 b2)/26 - (3 b3)/13 + (5 x[1])/13 &&
x[3] == -(b2/13) - b3/13 - (7 x[1])/13 *)