Ok,I will try to explain the problem better.

test_iteration.xlsx solves f(x) = x^2 - x = 0 using the bisection method (https://en.wikipedia.org/wiki/Bisection_method). Basically the method shifts two points (x_a and x_b) along the x-axis until f(x_a) and f(x_b) have opposite sign. The a new point closer to the solution is calculated as (x_a+x_b)/2.

Cells D13:D15 represent the two old points and a new point x_c. From D17:D36 the function values and next point x_c are calculated according to the bisection algorithm.

Cells D38:D40 contain the points x_a, x_b and x_c for the following iteration step.

Every 15 steps the excel file resets it self using the counter in cell D7.

When I enable iterative calculations and set the number of calculations to 1 I can follow the algorithm step-by-step by pressing F9 or clicking “calculate now” on the formulas tab. In Excel everything works as expected.

I then save the file and upload it to our web environment, as can be seen in the attached pictures.

Then I open the web form and see step 0. If not, you can get to step 0 by changing the value in field run until “counter” = 0.

Step 0: The web form and the Excel file agree.

Step 1: The web form and the Excel file do not agree.

x_b should be 1.5, as was determined in step 0.

Step 2:The web form and the Excel file do not agree.

Again x_b does not agree with the x_b next calculated in previous step.

What seems to happen is the circular reference is resolved differently to Excel. Excel works top to bottom and therefore take the previously calculated x_b next, and then calculates a new x_b next for the next step.

Aspose seems to somehow take the updated x_b next and uses that in the rest of the calculations.

I hope this is clear enough to reproduce the issue.

Thanks,

PeterIterative Calculations.zip (276.8 KB)