I know this is not a programming question but I am struggling to understand how to get the solution to this problem. I'm not sure how this is figured out and I can't find a explained solution.

The only change in the table is at address x3406. That tells us it was a store instruction as no other is capable of writing into memory.
The available store instructions are ST, STI and STR. ST uses a 9 bit signed offset from PC which is given as x3010 in the question and is therefore out of range. STI could work but we are not provided with a memory location usable for the indirect address. That leaves STR for which the encoding allows for a 6 bit offset so to make the address x3406 we need a base from x33E6 to x3427 which leaves only a single possibility: R4 for which the offset is 6.
The new value is xe373 which must have come from R2 since again that's the only option.