Numerical Methods! A Satire!!

In many university courses teachers often try to make it easier for the students who cannot code well. That is why in courses like numerical methods (Remember the course that teaches Newton Raphson, Secant, Bisection Methods or interpolation or numerical integration etc) the question paper is often filled with questions like “Find the root of the following equation using secant method”. (Using calculator of course) or “Solve the following system of linear equation manually using Gauss Jordan Elimination Method.”. While asking some one to solve something manually ensures that he understands the method as a human being, it does not ensure that he understands it as a programmer. That is why it is easy to find people with good grades in numerical methods who are unable to solve any problems related to it by writing a program. This system of making the poor programmers survive is one of the main causes of programming contests not becoming as popular as it should been by now. Samuel is now teaching the numerical method course and to make the non-programmer students suffer he asks them to find out the 6-th divided difference and attach a print out of it with the exam paper. The n-th divided difference is defined recursively as: f[x0,x1,...,xn] = f[x0,x1,...,xn−1]−f[x1,x2,...,xn], ifn>1 x0 − xn andf[x0,x1] = f(x0)−f(x1), ifn=1. x0 − x1 Given the value of n your job is to print out the n-th divided difference in a form that does not have any part that can be expanded with the recursive definition above. Input The input file contains at most 15 set of input. Each set contains a single integer n (1 ≤ n ≤ 12). Input is terminated by a set where the value of n is zero. Output For each line of input number n produce the serial of output followed by the n-th divided difference. The output for each set should be followed by a blank line. Follow the exact format shown in the output for sample input. Also note that the following things are maintained: a) The horizontal bars are formed by a sequence of under score. b) All the suffix have two digits. c) The horizontal bar for each divided difference is exactly equal to its width. d) All the blank characters should be printed as ‘.’ (ASCII 46). e) The width of the divided difference for n = 1 is 13. f) The height of the divided difference for n = 1 is 5. g) If the divided difference expression fits in an (l ∗ w) axis-parallel bounding box then all the empty spaces in the (l ∗ w) bounding box should be filled with . (ASCII 46). h) No other characters outside the bounding box should be printed. i) The expression in the denominator should be printed center justified.

2/2 Sample Input 1 2 3 0 Sample Output Case 1: f(x..)-f(x..) ...00.....01.


...x..-x..... ....00..01... Case 2: f(x..)-f(x..).f(x..)-f(x..) ...00.....01.....01.....02. - ...x..-x.........x..-x..... ....00..01........01..02...


..........x..-x............ ...........00..02.......... Case 3: f(x..)-f(x..).f(x..)-f(x..).f(x..)-f(x..).f(x..)-f(x..) ...00.....01.....01.....02.....01.....02.....02.....03. -.- ...x..-x.........x..-x.........x..-x.........x..-x..... ....00..01........01..02........01..02........02..03... - ..........x..-x.......................x..-x............ ...........00..02......................01..03..........


........................x..-x.......................... .........................00..03........................