from manimlib.imports import *
from math import *
class Solution(GraphScene):
def construct(self):
watermark = ImageMobject("./assets/water_mark.png",opacity=0.7)
watermark.scale(1.5)
watermark.to_corner(DOWN+RIGHT, buff=0)
self.play(FadeIn(watermark))
Solve = TexMobject(r"I=\int_{0}^{\infty}\ln{(1+5x^2)}\ln{\left(1+\frac{6}{5x^2}\right)}dx" )
Solve.to_edge(UP)
self.play(Write(Solve))
align_mark = TexMobject( r'abs', fill_opacity=0.00,height=0.5)
align_mark.next_to(Solve,DOWN)
self.wait(1)
R0 = TexMobject(r"\text{Let }t=\sqrt{5}x \ \implies \ dx=\frac{1}{\sqrt{5}}\ dt" )
if R0.get_height() > 1:
R0.set_height(height=1,stretch=False)
if R0.get_width() > 12:
R0.set_width(width=12,stretch=False)
R1 = TexMobject(r"\implies I=\frac{1}{\sqrt{5}}\int_{0}^ {\infty} \ln{(1+t^2)}\ln{\left(1+\frac{6}{t^2}\right)}dt" )
if R1.get_height() > 1:
R1.set_height(height=1,stretch=False)
if R1.get_width() > 12:
R1.set_width(width=12,stretch=False)
R2 = TexMobject(r"\text{Now let's use the Leibniz rule for integration,}" )
if R2.get_height() > 1:
R2.set_height(height=1,stretch=False)
if R2.get_width() > 12:
R2.set_width(width=12,stretch=False)
R3 = TexMobject(r"I(\alpha)=\frac{1}{\sqrt{5}}\int_{0}^{\infty} \ln{(1+t^2)}\ln{\left(1+\alpha\frac{6}{t^2}\right)}dt" )
if R3.get_height() > 1:
R3.set_height(height=1,stretch=False)
if R3.get_width() > 12:
R3.set_width(width=12,stretch=False)
R4 = TexMobject(r"\text{Notice that } I(0)=0 \ \text{and}\ I(1)=1" )
if R4.get_height() > 1:
R4.set_height(height=1,stretch=False)
if R4.get_width() > 12:
R4.set_width(width=12,stretch=False)
R5 = TexMobject(r"\text{Now let's diffrentiate with respect to } \alpha" )
if R5.get_height() > 1:
R5.set_height(height=1,stretch=False)
if R5.get_width() > 12:
R5.set_width(width=12,stretch=False)
R6 = TexMobject(r"I'(\alpha)=\int_{0}^{\infty}\frac{\partial }{\partial\alpha} \ln{(1+t^2)}\ln{\left(1+\alpha \frac{6}{t^2}\right)}dt" )
if R6.get_height() > 1:
R6.set_height(height=1,stretch=False)
if R6.get_width() > 12:
R6.set_width(width=12,stretch=False)
R7 = TexMobject(r"I'(\alpha)=\frac{6}{\sqrt{5}}\int_{0}^{\infty}\frac{\ln{(1+t^2)}}{t^2+6\alpha} \ dt" )
if R7.get_height() > 1:
R7.set_height(height=1,stretch=False)
if R7.get_width() > 12:
R7.set_width(width=12,stretch=False)
R8 = TexMobject(r"\text{Now let's do the Leibniz rule again introducing a new parameter } \beta" )
if R8.get_height() > 1:
R8.set_height(height=1,stretch=False)
if R8.get_width() > 12:
R8.set_width(width=12,stretch=False)
R9 = TexMobject(r"I'(\alpha,\beta)=\frac{6}{\sqrt{5}}\int_{0}^{\infty}\frac{\ln{(1+\beta t^2)}}{t^2+6\alpha} dt" )
if R9.get_height() > 1:
R9.set_height(height=1,stretch=False)
if R9.get_width() > 12:
R9.set_width(width=12,stretch=False)
R10 = TexMobject(r"\text{Notice that } I'(\alpha,0)=0 \ \text{and} \ I'(\alpha,1)=I'(\alpha)" )
if R10.get_height() > 1:
R10.set_height(height=1,stretch=False)
if R10.get_width() > 12:
R10.set_width(width=12,stretch=False)
R11 = TexMobject(r"\text{Now let's differentiate with respect to }\beta ," )
if R11.get_height() > 1:
R11.set_height(height=1,stretch=False)
if R11.get_width() > 12:
R11.set_width(width=12,stretch=False)
R12 = TexMobject(r"\frac{\partial I'(\alpha,\beta)}{\partial \beta}=\frac{6}{\sqrt{5}}\int_{0}^{\infty}\frac{\partial}{\partial \beta} \frac{\ln{(1+\beta t^2)}}{t^2+6\alpha} dt" )
if R12.get_height() > 1:
R12.set_height(height=1,stretch=False)
if R12.get_width() > 12:
R12.set_width(width=12,stretch=False)
R13 = TexMobject(r"= \frac{\partial I'(\alpha ,\beta )}{\partial \beta}=\frac{6}{\sqrt{5}}\int_{0}^{\infty} \frac{t^2}{(t^2+6\alpha)(1+\beta t^2)} dt" )
if R13.get_height() > 1:
R13.set_height(height=1,stretch=False)
if R13.get_width() > 12:
R13.set_width(width=12,stretch=False)
R14 = TexMobject(r"\text{Now doing Partial Fractions,}" )
if R14.get_height() > 1:
R14.set_height(height=1,stretch=False)
if R14.get_width() > 12:
R14.set_width(width=12,stretch=False)
R15 = TexMobject(r"\frac{\partial I'(\alpha,\beta)}{\partial \beta}=\frac{6}{\sqrt{5}} \int_{0}^{\infty} \frac{a_1}{t^2+6\alpha} + \frac{a_2}{1+\beta t^2} \ dt" )
if R15.get_height() > 1:
R15.set_height(height=1,stretch=False)
if R15.get_width() > 12:
R15.set_width(width=12,stretch=False)
R16 = TexMobject(r"\text{With identification we get } a_1=\frac{-6\alpha}{1-6\alpha\beta} \ \ , \ a_2=\frac{1}{1-6\alpha\beta}" )
if R16.get_height() > 1:
R16.set_height(height=1,stretch=False)
if R16.get_width() > 12:
R16.set_width(width=12,stretch=False)
R17 = TexMobject(r"\frac{\partial I'(\alpha, \beta)}{\partial \beta}=\frac{6}{\sqrt{5}}\frac{1}{(1-6\alpha\beta)} \int_{0}^{\infty}\frac{1}{1+\beta t^2}-\frac{6\alpha}{t^2+6\alpha} dt" )
if R17.get_height() > 1:
R17.set_height(height=1,stretch=False)
if R17.get_width() > 12:
R17.set_width(width=12,stretch=False)
R18 = TexMobject(r"\text{Now this is an elementary integral and we get,}" )
if R18.get_height() > 1:
R18.set_height(height=1,stretch=False)
if R18.get_width() > 12:
R18.set_width(width=12,stretch=False)
R19 = TexMobject(r"\frac{\partial I'(\alpha, \beta)}{\partial \beta}=\frac{6}{\sqrt{5}}\frac{1}{(1-6\alpha\beta)}\left[\frac{1}{\sqrt{\beta}}\arctan{(\sqrt{\beta}t)}-\sqrt{6\alpha}\arctan{\left(\frac{t}{\sqrt{6\alpha}}\right)}\right]_{0}^{\infty}" )
if R19.get_height() > 1:
R19.set_height(height=1,stretch=False)
if R19.get_width() > 12:
R19.set_width(width=12,stretch=False)
R20 = TexMobject(r"= \frac{\partial I'(\alpha, \beta)}{\partial \beta}=\frac{6}{\sqrt{5}}\frac{1}{(1-6\alpha\beta)}\left(\frac{1}{\sqrt{\beta}}-\sqrt{6\alpha}\right)\frac{\pi}{2}" )
if R20.get_height() > 1:
R20.set_height(height=1,stretch=False)
if R20.get_width() > 12:
R20.set_width(width=12,stretch=False)
R21 = TexMobject(r"\text{Now to get back to }I'(\alpha , \beta ) \text{ we'll integrate with respect to } \beta" )
if R21.get_height() > 1:
R21.set_height(height=1,stretch=False)
if R21.get_width() > 12:
R21.set_width(width=12,stretch=False)
R22 = TexMobject(r"I'(\alpha,\beta)=\int\frac{\partial I'(\alpha, \beta)}{\partial \beta} \ d\beta" )
if R22.get_height() > 1:
R22.set_height(height=1,stretch=False)
if R22.get_width() > 12:
R22.set_width(width=12,stretch=False)
R23 = TexMobject(r"=\frac{6}{\sqrt{5}}\frac{\pi}{2}\int \frac{1}{\sqrt{\beta}}\frac{1}{1-6\alpha\beta}-\frac{\sqrt{6\alpha}}{1-6\alpha\beta} \ d\beta" )
if R23.get_height() > 1:
R23.set_height(height=1,stretch=False)
if R23.get_width() > 12:
R23.set_width(width=12,stretch=False)
R24 = TexMobject(r"\text{For the first integral just let }u=\sqrt{\beta} \implies du=\frac{1}{\sqrt{\beta}} \ d\beta \text{ and we get,}" )
if R24.get_height() > 1:
R24.set_height(height=1,stretch=False)
if R24.get_width() > 12:
R24.set_width(width=12,stretch=False)
R25 = TexMobject(r"I'(\alpha,\beta)=\frac{\sqrt{6}}{\sqrt{5}}\frac{\pi}{2}\frac{1}{\sqrt{\alpha}}\left(\ln({1-6\alpha\beta})+2 \text{ argtanh}{\left(\sqrt{6\alpha\beta}\right)}\right)+C(\alpha)" )
if R25.get_height() > 1:
R25.set_height(height=1,stretch=False)
if R25.get_width() > 12:
R25.set_width(width=12,stretch=False)
R26 = TexMobject(r"\text{Since }I'(\alpha,0)=0 \ \implies \ C(\alpha)=0" )
if R26.get_height() > 1:
R26.set_height(height=1,stretch=False)
if R26.get_width() > 12:
R26.set_width(width=12,stretch=False)
R27 = TexMobject(r"\text{For } \beta=1 \text{ we get } I'(\alpha)" )
if R27.get_height() > 1:
R27.set_height(height=1,stretch=False)
if R27.get_width() > 12:
R27.set_width(width=12,stretch=False)
R28 = TexMobject(r"\iff I'(\alpha,1)=I'(\alpha)=\frac{\pi}{2}\frac{\sqrt{6}}{\sqrt{5\alpha}}\left(\ln{(1-6\alpha)}+2\text{ argtanh}{(\sqrt{6\alpha})}\right)" )
if R28.get_height() > 1:
R28.set_height(height=1,stretch=False)
if R28.get_width() > 12:
R28.set_width(width=12,stretch=False)
R29 = TexMobject(r"\text{Now to get back to } I(\alpha) \text{ we'll integrate with respect to } \alpha" )
if R29.get_height() > 1:
R29.set_height(height=1,stretch=False)
if R29.get_width() > 12:
R29.set_width(width=12,stretch=False)
R30 = TexMobject(r"I(\alpha)=\int I'(\alpha) d\alpha" )
if R30.get_height() > 1:
R30.set_height(height=1,stretch=False)
if R30.get_width() > 12:
R30.set_width(width=12,stretch=False)
R31 = TexMobject(r"I(\alpha)=\frac{\pi}{\sqrt{5}}\int\frac{\sqrt{6}}{2\sqrt{\alpha}}\left(\ln{(1-6\alpha)}+2\text{ argtanh}{(\sqrt{6\alpha})}\right) d\alpha" )
if R31.get_height() > 1:
R31.set_height(height=1,stretch=False)
if R31.get_width() > 12:
R31.set_width(width=12,stretch=False)
R32 = TexMobject(r"\text{For this let } \displaystyle \eta=\sqrt{6\alpha} \ \implies \ d\eta=\frac{\sqrt{6}}{2\sqrt{\alpha}} \ d\alpha" )
if R32.get_height() > 1:
R32.set_height(height=1,stretch=False)
if R32.get_width() > 12:
R32.set_width(width=12,stretch=False)
R33 = TexMobject(r"\implies I=\frac{\pi}{\sqrt{5}}\int \ln{(1-\eta^2)}+2\text{ argtanh}{(\eta)} \ d\eta " )
if R33.get_height() > 1:
R33.set_height(height=1,stretch=False)
if R33.get_width() > 12:
R33.set_width(width=12,stretch=False)
R34 = TexMobject(r"\text{Since } \text{argtanh}{(t)}=\frac{1}{2} \ln{\left(\frac{1+t}{1-t}\right)} \text{ and } \ln{(1-t^2)}=\ln{(1+t)}+\ln{(1-t)}" )
if R34.get_height() > 1:
R34.set_height(height=1,stretch=False)
if R34.get_width() > 12:
R34.set_width(width=12,stretch=False)
R35 = TexMobject(r"\implies I=\frac{\pi}{\sqrt{5}} \int 2\ln{(1+\eta)} \ d\eta" )
if R35.get_height() > 1:
R35.set_height(height=1,stretch=False)
if R35.get_width() > 12:
R35.set_width(width=12,stretch=False)
R36 = TexMobject(r"\text{Now this can be done quite easily using integration by parts and we get,}" )
if R36.get_height() > 1:
R36.set_height(height=1,stretch=False)
if R36.get_width() > 12:
R36.set_width(width=12,stretch=False)
R37 = TexMobject(r"I=\frac{2\pi}{\sqrt{5}}\Bigl((1+\eta)\ln{(1+\eta)}-\eta \Bigr)+C" )
if R37.get_height() > 1:
R37.set_height(height=1,stretch=False)
if R37.get_width() > 12:
R37.set_width(width=12,stretch=False)
R38 = TexMobject(r"\text{And since } \eta=\sqrt{6\alpha}" )
if R38.get_height() > 1:
R38.set_height(height=1,stretch=False)
if R38.get_width() > 12:
R38.set_width(width=12,stretch=False)
R39 = TexMobject(r"I(\alpha)=\frac{2\pi}{5} \Bigl((1+\sqrt{6\alpha})\ln{(1+\sqrt{6\alpha})}-\sqrt{6\alpha}\Bigr)+C" )
if R39.get_height() > 1:
R39.set_height(height=1,stretch=False)
if R39.get_width() > 12:
R39.set_width(width=12,stretch=False)
R40 = TexMobject(r"\text{Since } I(0)=0 \implies C=0 \text{ and for } \alpha=1 \text{ we get } I " )
if R40.get_height() > 1:
R40.set_height(height=1,stretch=False)
if R40.get_width() > 12:
R40.set_width(width=12,stretch=False)
R41 = TexMobject(r"\implies I(1)=I=\frac{\pi}{\sqrt{5}}\Bigl(2(1+\sqrt{6})\ln{(1+\sqrt{6})}-2\sqrt{6}\Bigr)" )
if R41.get_height() > 1:
R41.set_height(height=1,stretch=False)
if R41.get_width() > 12:
R41.set_width(width=12,stretch=False)
R42 = TexMobject(r"\text{We know that } 2\ln{(a)}=\ln{(a^2)}" )
if R42.get_height() > 1:
R42.set_height(height=1,stretch=False)
if R42.get_width() > 12:
R42.set_width(width=12,stretch=False)
R43 = TexMobject(r"\implies I=\frac{\pi}{\sqrt{5}}\Bigl((1+\sqrt{6})\ln{(7+2\sqrt{6})}-\sqrt{6}\Bigr)" )
if R43.get_height() > 1:
R43.set_height(height=1,stretch=False)
if R43.get_width() > 12:
R43.set_width(width=12,stretch=False)
R44 = TexMobject(r"\text{So we conclude that,}" )
if R44.get_height() > 1:
R44.set_height(height=1,stretch=False)
if R44.get_width() > 12:
R44.set_width(width=12,stretch=False)
R45 = TexMobject(r"I=\int_{0}^{\infty}\ln{(1+5x^2)}\ln{\left(1+\frac{6}{5x^2}\right)}dx" )
if R45.get_height() > 1:
R45.set_height(height=1,stretch=False)
if R45.get_width() > 12:
R45.set_width(width=12,stretch=False)
R46 = TexMobject(r"=\frac{\pi}{\sqrt{5}}\Bigl((1+\sqrt{6})\ln{(7+2\sqrt{6})}-\sqrt{6}\Bigr)" )
if R46.get_height() > 1:
R46.set_height(height=1,stretch=False)
if R46.get_width() > 12:
R46.set_width(width=12,stretch=False)
R47 = TexMobject(r"." )
if R47.get_height() > 1:
R47.set_height(height=1,stretch=False)
if R47.get_width() > 12:
R47.set_width(width=12,stretch=False)
R0.next_to(align_mark,DOWN)
self.play(Write(R0))
self.wait(1)
R1.next_to(R0, DOWN)
self.play(Write(R1))
self.wait(1)
R2.next_to(R1, DOWN)
self.play(Write(R2))
self.wait(1)
self.play(FadeOut(R0))
self.play(ApplyMethod(R1.next_to,align_mark,DOWN))
self.play(ApplyMethod(R2.next_to,R1, DOWN))
R3.next_to(R2, DOWN)
self.play(Write(R3))
self.play(FadeOut(R1))
self.play(ApplyMethod(R2.next_to,align_mark,DOWN))
self.play(ApplyMethod(R3.next_to,R2, DOWN))
R4.next_to(R3, DOWN)
self.play(Write(R4))
self.play(FadeOut(R2))
self.play(ApplyMethod(R3.next_to,align_mark,DOWN))
self.play(ApplyMethod(R4.next_to,R3, DOWN))
R5.next_to(R4, DOWN)
self.play(Write(R5))
self.play(FadeOut(R3))
self.play(ApplyMethod(R4.next_to,align_mark,DOWN))
self.play(ApplyMethod(R5.next_to,R4, DOWN))
R6.next_to(R5, DOWN)
self.play(Write(R6))
self.play(FadeOut(R4))
self.play(ApplyMethod(R5.next_to,align_mark,DOWN))
self.play(ApplyMethod(R6.next_to,R5, DOWN))
R7.next_to(R6, DOWN)
self.play(Write(R7))
self.play(FadeOut(R5))
self.play(ApplyMethod(R6.next_to,align_mark,DOWN))
self.play(ApplyMethod(R7.next_to,R6, DOWN))
R8.next_to(R7, DOWN)
self.play(Write(R8))
self.play(FadeOut(R6))
self.play(ApplyMethod(R7.next_to,align_mark,DOWN))
self.play(ApplyMethod(R8.next_to,R7, DOWN))
R9.next_to(R8, DOWN)
self.play(Write(R9))
self.play(FadeOut(R7))
self.play(ApplyMethod(R8.next_to,align_mark,DOWN))
self.play(ApplyMethod(R9.next_to,R8, DOWN))
R10.next_to(R9, DOWN)
self.play(Write(R10))
self.play(FadeOut(R8))
self.play(ApplyMethod(R9.next_to,align_mark,DOWN))
self.play(ApplyMethod(R10.next_to,R9, DOWN))
R11.next_to(R10, DOWN)
self.play(Write(R11))
self.play(FadeOut(R9))
self.play(ApplyMethod(R10.next_to,align_mark,DOWN))
self.play(ApplyMethod(R11.next_to,R10, DOWN))
R12.next_to(R11, DOWN)
self.play(Write(R12))
self.play(FadeOut(R10))
self.play(ApplyMethod(R11.next_to,align_mark,DOWN))
self.play(ApplyMethod(R12.next_to,R11, DOWN))
R13.next_to(R12, DOWN)
self.play(Write(R13))
self.play(FadeOut(R11))
self.play(ApplyMethod(R12.next_to,align_mark,DOWN))
self.play(ApplyMethod(R13.next_to,R12, DOWN))
R14.next_to(R13, DOWN)
self.play(Write(R14))
self.play(FadeOut(R12))
self.play(ApplyMethod(R13.next_to,align_mark,DOWN))
self.play(ApplyMethod(R14.next_to,R13, DOWN))
R15.next_to(R14, DOWN)
self.play(Write(R15))
self.play(FadeOut(R13))
self.play(ApplyMethod(R14.next_to,align_mark,DOWN))
self.play(ApplyMethod(R15.next_to,R14, DOWN))
R16.next_to(R15, DOWN)
self.play(Write(R16))
self.play(FadeOut(R14))
self.play(ApplyMethod(R15.next_to,align_mark,DOWN))
self.play(ApplyMethod(R16.next_to,R15, DOWN))
R17.next_to(R16, DOWN)
self.play(Write(R17))
self.play(FadeOut(R15))
self.play(ApplyMethod(R16.next_to,align_mark,DOWN))
self.play(ApplyMethod(R17.next_to,R16, DOWN))
R18.next_to(R17, DOWN)
self.play(Write(R18))
self.play(FadeOut(R16))
self.play(ApplyMethod(R17.next_to,align_mark,DOWN))
self.play(ApplyMethod(R18.next_to,R17, DOWN))
R19.next_to(R18, DOWN)
self.play(Write(R19))
self.play(FadeOut(R17))
self.play(ApplyMethod(R18.next_to,align_mark,DOWN))
self.play(ApplyMethod(R19.next_to,R18, DOWN))
R20.next_to(R19, DOWN)
self.play(Write(R20))
self.play(FadeOut(R18))
self.play(ApplyMethod(R19.next_to,align_mark,DOWN))
self.play(ApplyMethod(R20.next_to,R19, DOWN))
R21.next_to(R20, DOWN)
self.play(Write(R21))
self.play(FadeOut(R19))
self.play(ApplyMethod(R20.next_to,align_mark,DOWN))
self.play(ApplyMethod(R21.next_to,R20, DOWN))
R22.next_to(R21, DOWN)
self.play(Write(R22))
self.play(FadeOut(R20))
self.play(ApplyMethod(R21.next_to,align_mark,DOWN))
self.play(ApplyMethod(R22.next_to,R21, DOWN))
R23.next_to(R22, DOWN)
self.play(Write(R23))
self.play(FadeOut(R21))
self.play(ApplyMethod(R22.next_to,align_mark,DOWN))
self.play(ApplyMethod(R23.next_to,R22, DOWN))
R24.next_to(R23, DOWN)
self.play(Write(R24))
self.play(FadeOut(R22))
self.play(ApplyMethod(R23.next_to,align_mark,DOWN))
self.play(ApplyMethod(R24.next_to,R23, DOWN))
R25.next_to(R24, DOWN)
self.play(Write(R25))
self.play(FadeOut(R23))
self.play(ApplyMethod(R24.next_to,align_mark,DOWN))
self.play(ApplyMethod(R25.next_to,R24, DOWN))
R26.next_to(R25, DOWN)
self.play(Write(R26))
self.play(FadeOut(R24))
self.play(ApplyMethod(R25.next_to,align_mark,DOWN))
self.play(ApplyMethod(R26.next_to,R25, DOWN))
R27.next_to(R26, DOWN)
self.play(Write(R27))
self.play(FadeOut(R25))
self.play(ApplyMethod(R26.next_to,align_mark,DOWN))
self.play(ApplyMethod(R27.next_to,R26, DOWN))
R28.next_to(R27, DOWN)
self.play(Write(R28))
self.play(FadeOut(R26))
self.play(ApplyMethod(R27.next_to,align_mark,DOWN))
self.play(ApplyMethod(R28.next_to,R27, DOWN))
R29.next_to(R28, DOWN)
self.play(Write(R29))
self.play(FadeOut(R27))
self.play(ApplyMethod(R28.next_to,align_mark,DOWN))
self.play(ApplyMethod(R29.next_to,R28, DOWN))
R30.next_to(R29, DOWN)
self.play(Write(R30))
self.play(FadeOut(R28))
self.play(ApplyMethod(R29.next_to,align_mark,DOWN))
self.play(ApplyMethod(R30.next_to,R29, DOWN))
R31.next_to(R30, DOWN)
self.play(Write(R31))
self.play(FadeOut(R29))
self.play(ApplyMethod(R30.next_to,align_mark,DOWN))
self.play(ApplyMethod(R31.next_to,R30, DOWN))
R32.next_to(R31, DOWN)
self.play(Write(R32))
self.play(FadeOut(R30))
self.play(ApplyMethod(R31.next_to,align_mark,DOWN))
self.play(ApplyMethod(R32.next_to,R31, DOWN))
R33.next_to(R32, DOWN)
self.play(Write(R33))
self.play(FadeOut(R31))
self.play(ApplyMethod(R32.next_to,align_mark,DOWN))
self.play(ApplyMethod(R33.next_to,R32, DOWN))
R34.next_to(R33, DOWN)
self.play(Write(R34))
self.play(FadeOut(R32))
self.play(ApplyMethod(R33.next_to,align_mark,DOWN))
self.play(ApplyMethod(R34.next_to,R33, DOWN))
R35.next_to(R34, DOWN)
self.play(Write(R35))
self.play(FadeOut(R33))
self.play(ApplyMethod(R34.next_to,align_mark,DOWN))
self.play(ApplyMethod(R35.next_to,R34, DOWN))
R36.next_to(R35, DOWN)
self.play(Write(R36))
self.play(FadeOut(R34))
self.play(ApplyMethod(R35.next_to,align_mark,DOWN))
self.play(ApplyMethod(R36.next_to,R35, DOWN))
R37.next_to(R36, DOWN)
self.play(Write(R37))
self.play(FadeOut(R35))
self.play(ApplyMethod(R36.next_to,align_mark,DOWN))
self.play(ApplyMethod(R37.next_to,R36, DOWN))
R38.next_to(R37, DOWN)
self.play(Write(R38))
self.play(FadeOut(R36))
self.play(ApplyMethod(R37.next_to,align_mark,DOWN))
self.play(ApplyMethod(R38.next_to,R37, DOWN))
R39.next_to(R38, DOWN)
self.play(Write(R39))
self.play(FadeOut(R37))
self.play(ApplyMethod(R38.next_to,align_mark,DOWN))
self.play(ApplyMethod(R39.next_to,R38, DOWN))
R40.next_to(R39, DOWN)
self.play(Write(R40))
self.play(FadeOut(R38))
self.play(ApplyMethod(R39.next_to,align_mark,DOWN))
self.play(ApplyMethod(R40.next_to,R39, DOWN))
R41.next_to(R40, DOWN)
self.play(Write(R41))
self.play(FadeOut(R39))
self.play(ApplyMethod(R40.next_to,align_mark,DOWN))
self.play(ApplyMethod(R41.next_to,R40, DOWN))
R42.next_to(R41, DOWN)
self.play(Write(R42))
self.play(FadeOut(R40))
self.play(ApplyMethod(R41.next_to,align_mark,DOWN))
self.play(ApplyMethod(R42.next_to,R41, DOWN))
R43.next_to(R42, DOWN)
self.play(Write(R43))
self.play(FadeOut(R41))
self.play(ApplyMethod(R42.next_to,align_mark,DOWN))
self.play(ApplyMethod(R43.next_to,R42, DOWN))
R44.next_to(R43, DOWN)
self.play(Write(R44))
self.play(FadeOut(R42))
self.play(ApplyMethod(R43.next_to,align_mark,DOWN))
self.play(ApplyMethod(R44.next_to,R43, DOWN))
R45.next_to(R44, DOWN)
self.play(Write(R45))
self.play(FadeOut(R43))
self.play(ApplyMethod(R44.next_to,align_mark,DOWN))
self.play(ApplyMethod(R45.next_to,R44, DOWN))
R46.next_to(R45, DOWN)
self.play(Write(R46))
self.play(FadeOut(R44))
self.play(ApplyMethod(R45.next_to,align_mark,DOWN))
self.play(ApplyMethod(R46.next_to,R45, DOWN))
R47.next_to(R46, DOWN)
self.play(Write(R47))
self.wait(2)
self.play(FadeOut(R47))
self.play(FadeOut(R46))
self.play(FadeOut(R45))
self.play(FadeOut(Solve))
self.play(ApplyMethod(watermark.next_to,align_mark,DOWN))
self.play(FadeOut(watermark))